/* ==================================================
   ROUTE CARD
================================================== */

.itinerak-route-card{
    margin-top:20px;
}

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

.itinerak-route-day{
    background:var(--itinerak-primary-color);
    color:#fff;
    text-align:center;
    padding:14px;
    border-radius:12px;
    margin-bottom:20px;
    margin-top:40px;
    font-size:18px;
    font-weight:700;
}

/* ==================================================
   DAY TABS
================================================== */

.itinerak-day-tabs{

    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;

    max-width:520px;

    margin:30px auto;

    padding:6px;

    background:var(--itinerak-card);

    border:1px solid var(--itinerak-border);

    border-radius:18px;

    box-shadow:0 6px 18px rgba(0,0,0,.05);

}

.itinerak-day-tab{

    flex:1;

    height:52px;

    border:none;

    border-radius:12px;

    background:#f2f2f2;

    color:#555;

    font-size:15px;

    font-weight:700;

    cursor:pointer;

    transition:all .25s ease;

}

.itinerak-day-tab:hover{

    background:#e8e8e8;

    color:var(--itinerak-text);

}

.itinerak-day-tab.active{

    background:var(--itinerak-primary-color);

    color:#fff;

    transform:translateY(-2px);

    box-shadow:0 8px 20px rgba(198,11,30,.25);

}

/* ==================================================
   DAY PANEL
================================================== */

.itinerak-route-day-panel{
    margin-top:10px;
}

/* ==================================================
   ROUTE DESCRIPTION
================================================== */

.itinerak-route-description{
    text-align:center;
    color:var(--itinerak-text);
    line-height:1.9;
    font-size:16px;
    margin:20px 0;
}

/* ==================================================
   PLACE CARD
================================================== */

.itinerak-place-card{
    background:var(--itinerak-card);
    border:1px solid var(--itinerak-border);
    border-left:4px solid var(--itinerak-primary-color);
    border-radius:16px;
    padding:24px;
    margin-bottom:20px;
    box-shadow:0 2px 8px rgba(0,0,0,.04);
    text-align:center;
    transition:all .2s ease;
}

.itinerak-place-card:hover{
    box-shadow:0 8px 18px rgba(0,0,0,.08);
}

/* ==================================================
   HIGHLIGHT
================================================== */

.itinerak-highlight{
    display:inline-block;
    background:#fff5d8;
    color:#a67a00;
    padding:6px 14px;
    border-radius:999px;
    font-size:12px;
    font-weight:600;
    margin-bottom:15px;
}

/* ==================================================
   PLACE TITLE
================================================== */

.itinerak-place-card h3{
    margin:0 0 15px;
    font-size:32px;
    font-weight:700;
    color:var(--itinerak-text);
    line-height:1.3;
}

/* ==================================================
   META LINE
================================================== */

.itinerak-place-meta{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:18px;
    margin-bottom:20px;
    color:var(--itinerak-text);
    font-size:14px;
}

.itinerak-place-meta span{
    display:flex;
    align-items:center;
    gap:5px;
}

/* ==================================================
   DESCRIPTION
================================================== */

.itinerak-place-description{
    margin:20px 0;
    color:var(--itinerak-text);
    line-height:1.9;
    font-size:15px;
}

/* ==================================================
   TIP BOX
================================================== */

.itinerak-tip{
    margin-top:20px;
    background:#fff8ea;
    border-left:4px solid #ffc400;
    border-radius:10px;
    padding:14px 16px;
    color:#7a5b00;
    line-height:1.7;
    font-size:14px;
}

/* ==================================================
   CARD FOOTER
================================================== */

.itinerak-place-footer{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;
    margin-top:25px;
}

.itinerak-place-footer span{
    display:flex;
    align-items:center;
    gap:6px;
    color:var(--itinerak-text);
    font-size:14px;
    font-weight:500;
}

.itinerak-route-actions{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:10px;

    margin-top:18px;

    position:relative;

}

.itinerak-action-btn{
    border:none;
    border-radius:8px;
    padding:10px 12px;
    cursor:pointer;
    font-weight:600;
    font-size:14px;
    line-height:1.2;
}



.itinerak-share-menu{
    position:absolute;
    right:0;
    bottom:55px;

    width:220px;

    background:var(--itinerak-card);
    border:1px solid var(--itinerak-border);
    border-radius:12px;

    padding:10px;

    box-shadow:0 12px 30px rgba(0,0,0,.12);

    display:grid;
    gap:6px;

    z-index:999;
}

.itinerak-share-item{
    display:flex;
    align-items:center;

    padding:10px 12px;

    border-radius:8px;

    text-decoration:none;

    font-size:14px;
    font-weight:600;

    transition:all .2s ease;
}

.itinerak-share-item:hover{
    background:var(--itinerak-bg);
    transform:translateX(3px);
}


.itinerak-rating{
    text-align:center;
    margin:20px 0;
}

.itinerak-rating h3{
    margin-bottom:12px;
    font-size:20px;
    color:var(--itinerak-text);
}

.itinerak-stars{
    display:flex;
    justify-content:center;
    gap:8px;
}

.itinerak-star{
    font-size:34px;
    color:#cfcfcf;
    cursor:pointer;
    transition:0.2s;
}

.itinerak-star.active{
    color:#f4b400;
}

.itinerak-star:hover{
    transform:scale(1.1);
}

.itinerak-rating-message{
    display:none;
    margin-top:12px;
    color:#2e7d32;
    font-weight:600;
}


.itinerak-budget{
    background:var(--itinerak-card);
    border:1px solid var(--itinerak-border);
    border-radius:14px;
    padding:18px;
    margin:18px 0 22px;
    text-align:center;
    box-shadow:0 2px 8px rgba(0,0,0,.04);
}

.itinerak-budget-label{
    font-size:13px;
    color:var(--itinerak-text);
    margin-bottom:8px;
}

.itinerak-budget-total{
    font-size:22px;
    font-weight:700;
    color:var(--itinerak-primary-color);
}

.itinerak-continue-exploring{
    text-align:center;
    border:2px solid var(--itinerak-primary-color);
    border-radius:18px;
    padding:28px;
    margin:25px 0;
    background:var(--itinerak-card);
}

.itinerak-continue-exploring h2{
    font-size:22px;
    font-weight:700;
    color:var(--itinerak-primary-color);
    margin-bottom:15px;
}

.itinerak-continue-exploring p{
    max-width:600px;
    margin:0 auto 20px;
    line-height:1.9;
    color:var(--itinerak-text);
}

.itinerak-continue-btn{
    display:inline-block;
    background:var(--itinerak-primary-color);
    color:#fff !important;
    padding:14px 28px;
    border-radius:10px;
    font-weight:700;
    text-decoration:none;
}

.itinerak-continue-btn:hover{
    transform:translateY(-2px);
}

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

@media (max-width:768px){

    /* ----------------------------------------------
       ROUTE HEADER
    ---------------------------------------------- */

    .itinerak-route-day{

        font-size:16px;
        padding:12px;

    }

    /* ----------------------------------------------
       DAY TABS
    ---------------------------------------------- */

    .itinerak-day-tabs{

        width:100%;
        max-width:100%;

        gap:6px;

        padding:5px;

        margin:24px auto;

    }

    .itinerak-day-tab{

        flex:1;
        min-width:0;

        height:46px;

        border-radius:10px;

        font-size:14px;

    }

    /* ----------------------------------------------
       PLACE CARD
    ---------------------------------------------- */

    .itinerak-place-card{

        padding:18px;

    }

    .itinerak-place-card h3{

        font-size:24px;

    }

    .itinerak-place-meta{

        gap:12px;
        font-size:13px;

    }

    .itinerak-place-footer{

        justify-content:center;
        gap:12px;

    }

    /* ----------------------------------------------
       ACTION BUTTONS
    ---------------------------------------------- */

    .itinerak-route-actions{

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

        gap:8px;

    }

    .itinerak-action-btn{

        padding:10px;

        font-size:13px;

    }

    /* ----------------------------------------------
       PLACE IMAGE LAYOUT
    ---------------------------------------------- */

    .itinerak-place-content{

        flex-direction:column;

    }

    .itinerak-place-image{

        width:100%;

        flex:none;

    }

    .itinerak-place-image img{

        width:100%;

        aspect-ratio:16/9;

    }

    .itinerak-place-info{

        text-align:center;

    }

    .itinerak-place-info .itinerak-place-meta{

        justify-content:center;

    }

    .itinerak-place-info .itinerak-place-footer{

        justify-content:center;

    }

}











.itinerak-favorites {

    display: flex;
    flex-wrap: wrap;
    gap: 10px;

}

.itinerak-favorite-badge {

    display: inline-flex;

    align-items: center;

    padding: 8px 14px;

    border-radius: 30px;

    background: #fff5e5;

    color: #c60b1e;

    text-decoration: none;

    font-size: 14px;

    font-weight: 600;

    transition: 0.3s;

}

.itinerak-favorite-badge:hover {

    background: #c60b1e;

    color: white;

}






.itinerak-recently-viewed {

    display: flex;
    flex-wrap: wrap;
    gap: 10px;

}

.itinerak-recent-badge {

    display: inline-flex;

    align-items: center;

    padding: 8px 14px;

    border-radius: 30px;

    background: #eef5ff;

    color: #0d6efd;

    text-decoration: none;

    font-size: 14px;

    font-weight: 600;

    transition: 0.3s;

}

.itinerak-recent-badge:hover {

    background: #0d6efd;

    color: white;

}