/* ============================================================
   ⚙️ AJUSTES RÁPIDOS
============================================================ */

.ik2-page{

    --purple:#634bd1;
    --purple-dark:#36157f;
    --purple-light:#efedff;

    --green:#a9e4c7;
    --pink:#ff91b5;
    --yellow:#ffd466;

    --text:#302c3c;
    --muted:#817b8b;

    /* TAMAÑO TARJETAS TEMÁTICAS */
    --theme-size-pc:138px;
    --theme-size-mobile:126px;
}


/* ============================================================
   GENERAL
============================================================ */

.ik2-page,
.ik2-page *{
    box-sizing:border-box;
}

.ik2-page{

    width:100%;
    min-height:100vh;

    padding:24px 18px 42px;

    background:#c9c6ff;

    font-family:'Poppins',sans-serif;

    color:var(--text);
}


.ik2-shell{

    width:100%;
    max-width:1160px;

    margin:0 auto;

    background:#fff;

    border-radius:38px;

    overflow:hidden;

    box-shadow:
        0 25px 60px
        rgba(61,43,148,.13);
}


/* ============================================================
   HEADER
============================================================ */

.ik2-header{

    min-height:76px;

    padding:16px 34px;

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:20px;

    border-bottom:
        1px solid #f0edf7;
}


.ik2-logo{

    width:155px;
    max-width:45%;
}


.ik2-logo img{

    width:100%;
    height:auto;

    display:block;
}


.ik2-header-badge{

    min-height:36px;

    display:flex;

    align-items:center;

    padding:0 14px;

    border-radius:999px;

    background:#e8f7ef;

    color:#527762;

    font-size:9px;

    font-weight:600;
}


/* ============================================================
   HERO
============================================================ */

.ik2-hero{

    padding:
        45px
        25px
        38px;

    text-align:center;

    background:

        radial-gradient(
            circle at 12% 28%,
            rgba(255,145,181,.14),
            transparent 20%
        ),

        radial-gradient(
            circle at 88% 22%,
            rgba(255,212,102,.17),
            transparent 18%
        ),

        #faf9ff;
}


.ik2-check{

    width:70px;
    height:70px;

    margin:
        0
        auto
        14px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#def6e8;

    color:#47966b;

    font-size:30px;
}


.ik2-mini-badge{

    display:inline-flex;

    align-items:center;

    min-height:29px;

    margin-bottom:11px;

    padding:
        0
        13px;

    border-radius:999px;

    background:#eeebff;

    color:#6756b6;

    font-size:8px;

    font-weight:600;
}


.ik2-hero h1{

    max-width:760px;

    margin:
        0
        auto
        11px;

    font-size:42px;

    line-height:1.07;

    letter-spacing:-1.4px;
}


.ik2-hero h1 span{

    color:#735ddd;

    font-family:'Caveat',cursive;

    font-size:1.2em;
}


.ik2-hero p{

    max-width:620px;

    margin:0 auto;

    color:#797482;

    font-size:11px;

    line-height:1.75;
}


/* ============================================================
   FORM AREA
============================================================ */

.ik2-form-area{

    padding:
        38px
        34px
        50px;
}


.ik2-form-card{

    width:100%;
    max-width:820px;

    margin:0 auto;

    padding:
        29px
        31px;

    border-radius:28px;

    background:#f3f1ff;
}


/* ============================================================
   FORM HEADER
============================================================ */

.ik2-form-head{

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:15px;

    margin-bottom:11px;
}


.ik2-form-head strong{

    font-size:14px;
}


.ik2-counter{

    color:#7065a4;

    font-size:9px;

    font-weight:600;
}


.ik2-progress{

    width:100%;
    height:7px;

    margin-bottom:25px;

    overflow:hidden;

    border-radius:999px;

    background:#dedaf6;
}


.ik2-progress-bar{

    width:11.11%;
    height:100%;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            #9482ef,
            #5939bc
        );

    transition:.3s ease;
}


/* ============================================================
   STEPS
============================================================ */

.ik2-step{

    display:none;

    animation:
        ik2Fade
        .25s
        ease;
}


.ik2-step.active{

    display:block;
}


@keyframes ik2Fade{

    from{
        opacity:0;
        transform:translateY(6px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


.ik2-question{

    max-width:600px;

    margin:
        0
        auto
        6px;

    text-align:center;

    font-size:20px;

    line-height:1.3;
}


.ik2-sub{

    max-width:510px;

    margin:
        0
        auto
        20px;

    color:#837e8e;

    text-align:center;

    font-size:9px;

    line-height:1.65;
}


/* ============================================================
   EVENTOS
============================================================ */

.ik2-events{

    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:10px;
}


.ik2-event{

    min-height:79px;

    display:flex;

    flex-direction:column;

    align-items:center;
    justify-content:center;

    gap:5px;

    padding:8px;

    border:
        2px solid transparent;

    border-radius:18px;

    background:#fff;

    color:#5b5567;

    font-family:'Poppins',sans-serif;

    font-size:9px;

    font-weight:600;

    cursor:pointer;

    transition:.2s ease;
}


.ik2-event span{

    font-size:21px;
}


.ik2-event.selected{

    border-color:#8777e8;

    color:#493596;

    background:#faf9ff;

    box-shadow:
        0 7px 17px
        rgba(84,61,180,.08);
}


/* ============================================================
   TEMÁTICAS
============================================================ */

.ik2-theme-scroll{

    width:100%;

    display:flex;

    gap:11px;

    overflow-x:auto;

    padding:
        7px
        7px
        15px;

    scroll-snap-type:x mandatory;

    scrollbar-width:none;

    -webkit-overflow-scrolling:touch;
}


.ik2-theme-scroll::-webkit-scrollbar{

    display:none;
}


.ik2-theme{

    width:var(--theme-size-pc);

    flex:
        0
        0
        var(--theme-size-pc);

    padding:6px;

    position:relative;

    border:
        3px solid transparent;

    border-radius:19px;

    background:#fff;

    scroll-snap-align:center;

    cursor:pointer;

    transition:.2s ease;
}


.ik2-theme img{

    width:100%;

    aspect-ratio:1 / 1;

    display:block;

    object-fit:cover;

    border-radius:13px;

    pointer-events:none;
}


.ik2-theme-name{

    display:block;

    padding:
        7px
        2px
        2px;

    text-align:center;

    font-size:8px;

    font-weight:600;

    white-space:nowrap;

    overflow:hidden;

    text-overflow:ellipsis;
}


.ik2-theme.selected{

    border-color:#8878e8;

    transform:translateY(-2px);
}


.ik2-theme.selected::after{

    content:"✓";

    position:absolute;

    top:2px;
    right:2px;

    width:26px;
    height:26px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#6249c8;

    color:#fff;

    font-size:12px;

    font-weight:800;
}


.ik2-other{

    width:100%;

    aspect-ratio:1 / 1;

    display:flex;

    flex-direction:column;

    align-items:center;
    justify-content:center;

    border-radius:13px;

    background:
        linear-gradient(
            135deg,
            #e9e5ff,
            #ffe4ee
        );

    color:#57479e;
}


.ik2-other strong{

    font-size:28px;
}


.ik2-other small{

    margin-top:3px;

    font-size:7px;
}


.ik2-custom-theme{

    display:none;

    width:100%;
    max-width:440px;

    margin:
        9px
        auto
        0;
}


.ik2-custom-theme.show{

    display:block;
}


/* ============================================================
   INPUTS
============================================================ */

.ik2-field-center{

    width:100%;
    max-width:450px;

    margin:
        20px
        auto
        0;
}


.ik2-fields{

    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:12px;
}


.ik2-field{

    min-width:0;
}


.ik2-field.full{

    grid-column:1 / -1;
}


.ik2-label{

    display:block;

    margin-bottom:6px;

    color:#625d70;

    font-size:9px;

    font-weight:600;
}


.ik2-input,
.ik2-textarea{

    width:100% !important;

    border:
        2px solid #e1ddef !important;

    outline:none;

    background:#fff !important;

    color:#3e3949;

    font-family:'Poppins',sans-serif;

    transition:.2s ease;
}


.ik2-input{

    height:55px;

    padding:
        0
        16px !important;

    border-radius:16px !important;

    font-size:12px;

    text-align:center;
}


.ik2-textarea{

    min-height:110px;

    padding:
        13px
        15px !important;

    border-radius:16px !important;

    resize:vertical;

    font-size:10px;

    line-height:1.6;
}


.ik2-input:focus,
.ik2-textarea:focus{

    border-color:#8879ea !important;

    box-shadow:
        0
        0
        0
        4px
        rgba(136,121,234,.09);
}


/* ============================================================
   AGE
============================================================ */

.ik2-age-scroll{

    display:flex;

    align-items:center;

    gap:12px;

    overflow-x:auto;

    padding:
        14px
        calc(50% - 31px)
        17px;

    scroll-snap-type:x mandatory;

    scrollbar-width:none;

    -webkit-overflow-scrolling:touch;
}


.ik2-age-scroll::-webkit-scrollbar{

    display:none;
}


.ik2-age{

    width:60px !important;
    height:60px !important;

    min-width:60px !important;
    max-width:60px !important;

    min-height:60px !important;
    max-height:60px !important;

    flex:
        0
        0
        60px !important;

    padding:0 !important;

    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    border:
        2px solid #e3dff1 !important;

    border-radius:50% !important;

    background:#fff;

    color:#837e8e;

    font-family:'Poppins',sans-serif;

    font-size:15px;

    font-weight:600;

    scroll-snap-align:center;

    cursor:pointer;
}


.ik2-age.selected{

    border-color:#6046c6 !important;

    background:
        linear-gradient(
            135deg,
            #8876e9,
            #563ab8
        );

    color:#fff;

    font-size:20px;

    box-shadow:
        0 9px 20px
        rgba(75,55,175,.16);
}


/* ============================================================
   DATE WHEELS
============================================================ */

.ik2-date-grid{

    display:grid;

    grid-template-columns:
        .75fr
        1.35fr
        .9fr;

    gap:9px;
}


.ik2-wheel-col{

    position:relative;

    min-width:0;

    text-align:center;
}


.ik2-wheel-label{

    display:block;

    margin-bottom:7px;

    color:#777183;

    font-size:8px;

    font-weight:600;

    text-transform:uppercase;
}


.ik2-wheel{

    height:148px;

    overflow-y:auto;

    scroll-snap-type:y mandatory;

    scrollbar-width:none;

    border-radius:18px;

    background:
        linear-gradient(
            180deg,
            #efedf8,
            #fff 30%,
            #fff 70%,
            #efedf8
        );
}


.ik2-wheel::-webkit-scrollbar{

    display:none;
}


.ik2-wheel::before,
.ik2-wheel::after{

    content:"";

    display:block;

    height:49px;
}


.ik2-wheel-item{

    width:100%;
    height:48px;

    padding:0;

    display:flex;

    align-items:center;
    justify-content:center;

    border:0;

    background:transparent;

    color:#aaa5b4;

    font-family:'Poppins',sans-serif;

    font-size:11px;

    scroll-snap-align:center;

    cursor:pointer;
}


.ik2-wheel-item.selected{

    color:#493597;

    font-size:15px;

    font-weight:700;
}


.ik2-wheel-col::after{

    content:"";

    position:absolute;

    left:4px;
    right:4px;

    top:calc(50% + 3px);

    height:48px;

    transform:translateY(-50%);

    border:
        2px solid
        rgba(117,96,215,.16);

    border-radius:13px;

    pointer-events:none;
}


/* ============================================================
   CEREMONIA
============================================================ */

.ik2-toggle{

    grid-column:1 / -1;

    min-height:58px;

    padding:
        10px
        14px;

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:15px;

    border:
        2px solid #e1ddef;

    border-radius:15px;

    background:#fff;
}


.ik2-toggle strong{

    font-size:9px;
}


.ik2-toggle small{

    display:block;

    margin-top:2px;

    color:#918c99;

    font-size:7px;
}


.ik2-checkbox{

    width:21px;
    height:21px;
}


.ik2-ceremony{

    display:none;

    grid-column:1 / -1;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:12px;
}


.ik2-ceremony.show{

    display:grid;
}


/* ============================================================
   FOTO INSTRUCTION
============================================================ */

.ik2-photo-info{

    grid-column:1 / -1;

    padding:
        21px
        18px;

    text-align:center;

    border:
        2px dashed #c7bfeb;

    border-radius:20px;

    background:#fff;
}


.ik2-photo-icon{

    width:50px;
    height:50px;

    margin:
        0
        auto
        9px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:15px;

    background:#eeebff;

    font-size:22px;
}


.ik2-photo-info strong{

    display:block;

    margin-bottom:5px;

    color:#4f4561;

    font-size:11px;
}


.ik2-photo-info p{

    max-width:470px;

    margin:0 auto;

    color:#817b89;

    font-size:8px;

    line-height:1.65;
}


.ik2-photo-warning{

    display:inline-flex;

    margin-top:10px;

    padding:
        7px
        11px;

    border-radius:999px;

    background:#e8f7ef;

    color:#547563;

    font-size:7px;

    font-weight:600;
}


/* ============================================================
   BUTTONS
============================================================ */

.ik2-actions{

    display:flex;

    align-items:center;

    gap:9px;

    margin-top:19px;
}


.ik2-btn{

    min-height:53px;

    display:flex;

    align-items:center;
    justify-content:center;

    border:0;

    border-radius:999px;

    font-family:'Poppins',sans-serif;

    font-size:11px;

    font-weight:600;

    cursor:pointer;

    transition:.2s ease;
}


.ik2-btn:hover:not(:disabled){

    transform:translateY(-2px);
}


.ik2-primary{

    flex:1;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            #5030ad,
            #321478
        );
}


.ik2-secondary{

    width:105px;

    flex:
        0
        0
        105px;

    background:#ddd9f9;

    color:#594da5;
}


.ik2-btn:disabled{

    opacity:.45;

    cursor:not-allowed;

    transform:none;
}


/* ============================================================
   SUMMARY
============================================================ */

.ik2-summary{

    padding:
        18px
        19px;

    border-radius:21px;

    background:#fff;
}


.ik2-summary-row{

    display:flex;

    justify-content:space-between;

    gap:16px;

    padding:
        8px
        0;

    border-bottom:
        1px solid #f0edf6;
}


.ik2-summary-row:last-child{

    border-bottom:0;
}


.ik2-summary-row span:first-child{

    color:#8b8593;

    font-size:8px;
}


.ik2-summary-row span:last-child{

    max-width:68%;

    text-align:right;

    color:#40394c;

    font-size:9px;

    font-weight:600;

    line-height:1.45;
}


/* ============================================================
   STATUS
============================================================ */

.ik2-status{

    display:none;

    margin-top:14px;

    padding:
        12px
        14px;

    border-radius:14px;

    text-align:center;

    font-size:9px;

    line-height:1.5;
}


.ik2-status.loading{

    display:block;

    background:#eeebff;

    color:#5b48ab;
}


.ik2-status.error{

    display:block;

    background:#ffe8ed;

    color:#ad405b;
}


/* ============================================================
   SUCCESS
============================================================ */

.ik2-complete{

    display:none;

    padding:
        18px
        5px;

    text-align:center;
}


.ik2-complete.show{

    display:block;
}


.ik2-complete-icon{

    width:74px;
    height:74px;

    margin:
        0
        auto
        13px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#def6e8;

    font-size:31px;
}


.ik2-complete h2{

    margin:
        0
        0
        7px;

    font-size:25px;
}


.ik2-complete p{

    max-width:470px;

    margin:0 auto;

    color:#7e7887;

    font-size:9px;

    line-height:1.65;
}


/* ============================================================
   WHATSAPP SUPPORT
============================================================ */

.ik2-support{

    padding:
        37px
        20px
        40px;

    text-align:center;

    background:#faf9ff;

    border-top:
        1px solid #efecf7;
}


.ik2-support-icon{

    width:53px;
    height:53px;

    margin:
        0
        auto
        10px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:17px;

    background:#e5f8ed;

    font-size:23px;
}


.ik2-support h3{

    margin:
        0
        0
        5px;

    font-size:19px;
}


.ik2-support p{

    max-width:520px;

    margin:
        0
        auto
        15px;

    color:#817b89;

    font-size:9px;

    line-height:1.65;
}


.ik2-whatsapp{

    min-height:53px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:8px;

    padding:
        0
        22px;

    border-radius:999px;

    background:#25D366;

    color:#fff;

    text-decoration:none;

    font-size:10px;

    font-weight:700;

    box-shadow:
        0 11px 21px
        rgba(37,211,102,.17);
}


/* ============================================================
   MOBILE
============================================================ */

@media(max-width:767px){

    .ik2-page{

        padding:
            7px
            5px
            11px;
    }


    .ik2-shell{

        border-radius:26px;
    }


    .ik2-header{

        min-height:64px;

        padding:
            13px
            15px;
    }


    .ik2-logo{

        width:118px;
    }


    .ik2-header-badge{

        min-height:32px;

        padding:
            0
            10px;

        font-size:7px;
    }


    .ik2-hero{

        padding:
            34px
            16px
            30px;
    }


    .ik2-check{

        width:62px;
        height:62px;

        font-size:27px;
    }


    .ik2-hero h1{

        max-width:335px;

        font-size:32px;
    }


    .ik2-hero p{

        max-width:315px;

        font-size:9px;
    }


    .ik2-form-area{

        padding:
            25px
            11px
            32px;
    }


    .ik2-form-card{

        width:100%;

        padding:
            20px
            12px;

        border-radius:21px;
    }


    .ik2-question{

        max-width:320px;

        font-size:16px;
    }


    .ik2-events{

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .ik2-theme-scroll{

        padding-left:
            calc(
                50%
                -
                var(--theme-size-mobile) / 2
            );

        padding-right:
            calc(
                50%
                -
                var(--theme-size-mobile) / 2
            );
    }


    .ik2-theme{

        width:var(--theme-size-mobile);

        flex-basis:var(--theme-size-mobile);
    }


    .ik2-field-center{

        width:92%;

        max-width:360px;

        margin:
            18px
            auto
            0;
    }


    .ik2-input{

        width:100% !important;

        max-width:100% !important;

        margin:
            0
            auto !important;

        text-align:center;
    }


    .ik2-fields{

        display:block;
    }


    .ik2-field{

        width:100%;

        margin-bottom:11px;
    }


    .ik2-toggle{

        margin-bottom:11px;
    }


    .ik2-ceremony.show{

        display:block;
    }


    .ik2-date-grid{

        gap:5px;
    }


    .ik2-actions{

        width:100%;

        flex-direction:column-reverse;

        align-items:stretch;
    }


    .ik2-btn{

        width:100%;
    }


    .ik2-secondary{

        width:100%;

        flex:auto;
    }


    .ik2-summary-row span:last-child{

        max-width:61%;
    }

}

/* ============================================================
   PLUGIN PEDIDOS · AJUSTES NUEVOS
============================================================ */
.ik2-flow{
    max-width:820px;
    margin:24px auto 0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.ik2-flow-card{
    min-height:92px;
    padding:15px 14px;
    border:1px solid #ece9f7;
    border-radius:20px;
    background:rgba(255,255,255,.88);
    text-align:left;
    box-shadow:0 8px 22px rgba(66,50,130,.05);
}
.ik2-flow-num{
    width:28px;height:28px;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:8px;
    border-radius:9px;
    background:#eeebff;
    color:#5b45bd;
    font-size:10px;font-weight:800;
}
.ik2-flow-card strong{display:block;margin-bottom:3px;color:#41394f;font-size:9px;}
.ik2-flow-card span{display:block;color:#847f8d;font-size:7.5px;line-height:1.55;}
.ik2-no-themes{
    flex:0 0 250px;
    padding:20px 16px;
    border-radius:18px;
    background:#fff;
    color:#817b89;
    font-size:8px;
    line-height:1.55;
}
.ik2-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}
.ik2-support{display:none;}
.ik2-support.show{display:block;}
.ik2-order-folio{
    display:inline-flex;
    margin-top:11px;
    padding:7px 12px;
    border-radius:999px;
    background:#eeebff;
    color:#5c49b1;
    font-size:8px;
    font-weight:700;
}
.ik2-whatsapp[aria-disabled="true"]{opacity:.45;pointer-events:none;}
.ik2-catalog-note{
    max-width:520px;
    margin:9px auto 0;
    text-align:center;
    color:#8c8693;
    font-size:7.5px;
}
@media(max-width:767px){
    .ik2-flow{grid-template-columns:1fr;max-width:350px;margin-top:18px;}
    .ik2-flow-card{min-height:0;display:grid;grid-template-columns:34px 1fr;column-gap:8px;align-items:center;}
    .ik2-flow-num{margin:0;grid-row:1/3;}
    .ik2-flow-card strong{margin:0 0 2px;}
}

/* ============================================================
   V1.1 · INICIO DEL FORMULARIO
============================================================ */

.ik2-start-wrap{
    margin:24px auto 0;
    text-align:center;
}

.ik2-start-button{
    min-height:58px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 28px;
    border:0;
    border-radius:999px;
    background:linear-gradient(135deg,#6f59dc,#4827a8);
    color:#fff;
    font-family:'Poppins',sans-serif;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 14px 28px rgba(75,48,175,.20);
    transition:transform .2s ease,box-shadow .2s ease;
}

.ik2-start-button:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 34px rgba(75,48,175,.25);
}

.ik2-start-button b{font-size:17px;line-height:1;}
.ik2-start-wrap small{
    display:block;
    margin-top:8px;
    color:#918b9b;
    font-size:8px;
}

.ik2-form-area.ik2-form-collapsed{display:none;}
.ik2-form-area.ik2-form-open{
    display:block;
    animation:ik2FormReveal .35s ease both;
}

@keyframes ik2FormReveal{
    from{opacity:0;transform:translateY(12px);}
    to{opacity:1;transform:translateY(0);}
}

/* ============================================================
   V1.1 · TEMÁTICAS / BUSCADOR / PERSONALIZADA ANCLADA
============================================================ */

.ik2-theme-tools{
    width:100%;
    max-width:620px;
    margin:0 auto 13px;
}

.ik2-theme-search{
    min-height:52px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 16px;
    border:2px solid #e1ddef;
    border-radius:17px;
    background:#fff;
    color:#918ba1;
    box-shadow:0 8px 18px rgba(73,54,145,.04);
}

.ik2-theme-search span{font-size:18px;}
.ik2-theme-search input{
    width:100%;
    border:0!important;
    outline:0!important;
    padding:0!important;
    background:transparent!important;
    color:#40394c;
    font-family:'Poppins',sans-serif;
    font-size:10px;
}

.ik2-theme-custom-large{
    width:100%!important;
    max-width:620px;
    min-height:92px;
    margin:0 auto 12px;
    padding:14px 16px!important;
    display:grid!important;
    grid-template-columns:52px 1fr auto;
    gap:12px;
    align-items:center;
    text-align:left;
    border:2px solid #d9d3f4!important;
    border-radius:22px!important;
    background:linear-gradient(135deg,#f2efff,#fff4f8)!important;
    color:#4e3d8d;
}

.ik2-theme-custom-large:hover{border-color:#9c8dea!important;transform:translateY(-1px);}
.ik2-theme-custom-large.selected{border-color:#715cd8!important;box-shadow:0 10px 24px rgba(90,67,185,.12);}
.ik2-theme-custom-large::after{top:8px!important;right:8px!important;}

.ik2-theme-custom-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    background:#fff;
    color:#6249c8;
    font-size:27px;
    font-weight:700;
    box-shadow:0 7px 18px rgba(84,61,180,.08);
}

.ik2-theme-custom-large strong{display:block;font-size:11px;color:#493995;}
.ik2-theme-custom-large span{display:block;margin-top:3px;color:#81798f;font-size:7.5px;line-height:1.45;}
.ik2-theme-custom-large b{font-size:8px;white-space:nowrap;color:#664fc4;}

.ik2-custom-theme-pinned{
    max-width:620px!important;
    margin:0 auto 14px!important;
}

.ik2-theme-empty{
    display:none;
    max-width:620px;
    margin:8px auto 0;
    padding:12px 15px;
    border-radius:14px;
    background:#fff6df;
    color:#775e27;
    text-align:center;
    font-size:8px;
    line-height:1.55;
}
.ik2-theme-empty.show{display:block;}
.ik2-theme-catalog-item.ik2-search-hidden{display:none!important;}

/* ============================================================
   V1.2 · SELECTOR DE HORA · SCROLL VERTICAL
============================================================ */

.ik2-time-picker{
    padding:16px;
    border:2px solid #e1ddef;
    border-radius:19px;
    background:#fff;
}

.ik2-time-display{
    margin-bottom:15px;
    color:#563db4;
    text-align:center;
    font-size:25px;
    font-weight:800;
    letter-spacing:-.5px;
}

.ik2-time-grid{
    width:100%;
    max-width:380px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.ik2-time-wheel{
    height:148px;
}

.ik2-time-wheel .ik2-wheel-item{
    font-variant-numeric:tabular-nums;
}

.ik2-time-wheel .ik2-wheel-item.selected{
    font-size:18px;
}

.ik2-time-caption{
    margin-top:10px;
    color:#9c96a6;
    text-align:center;
    font-size:7px;
    line-height:1.5;
}

/* ============================================================
   V1.1 · MAPS / MÚSICA / TELÉFONO
============================================================ */

.ik2-checkline{
    margin-top:9px;
    display:flex;
    align-items:center;
    gap:8px;
    color:#6f687b;
    font-size:8.5px;
    font-weight:600;
    cursor:pointer;
}
.ik2-checkline input{width:18px;height:18px;accent-color:#674dcc;}

.ik2-help{
    margin-top:10px;
    border:1px solid #e3def2;
    border-radius:14px;
    background:#faf9ff;
    overflow:hidden;
}
.ik2-help summary{
    padding:11px 13px;
    color:#5d4eaa;
    font-size:8px;
    font-weight:700;
    cursor:pointer;
    list-style:none;
}
.ik2-help summary::-webkit-details-marker{display:none;}
.ik2-help-body{
    padding:0 15px 13px;
    color:#777181;
    font-size:8px;
    line-height:1.65;
}
.ik2-help-body ol{margin:0 0 8px;padding-left:18px;}
.ik2-help-body p{margin:0;}

.ik2-phone-field{position:relative;}
.ik2-phone-field .ik2-input{padding-left:46px!important;}
.ik2-phone-icon{
    position:absolute;
    left:15px;
    top:50%;
    transform:translateY(-50%);
    z-index:2;
    font-size:17px;
    pointer-events:none;
}
.ik2-field-help{
    display:block;
    margin-top:6px;
    color:#918b9a;
    font-size:7px;
    line-height:1.5;
}

.ik2-optional{
    margin-left:5px;
    padding:2px 6px;
    border-radius:999px;
    background:#efedff;
    color:#7667c7;
    font-size:6px;
    font-weight:700;
    vertical-align:middle;
}

.ik2-inline-reveal{
    display:none;
    margin-top:10px;
}
.ik2-inline-reveal.show{display:block;}
.ik2-input:disabled{opacity:.55;cursor:not-allowed;background:#f2f0f5!important;}

@media(max-width:767px){
    .ik2-start-button{width:100%;max-width:330px;min-height:55px;font-size:11px;}
    .ik2-theme-tools{margin-bottom:10px;}
    .ik2-theme-custom-large{
        min-height:98px;
        grid-template-columns:46px 1fr;
        gap:10px;
        border-radius:19px!important;
    }
    .ik2-theme-custom-large b{grid-column:2;font-size:7px;}
    .ik2-theme-custom-icon{width:44px;height:44px;border-radius:14px;}
    .ik2-time-display{font-size:23px;}
    .ik2-time-picker{padding:14px 11px;}
}
