/* YourTourKey — Sayfa yerleşimi, başlıklar, ürün metası ve bölümlerin ortak stilleri.
 * ytk-product.css içinden taşınmıştır. Masaüstü ve mobil kurallar birlikte tutulur.
 */

/* YOURTOURKEY SINGLE PRODUCT PAGE - PRODUCT PAGE V2 */

.ytk-product-page-shell,
.ytk-product-page-shell * {
    box-sizing: border-box;
}

.ytk-product-page-shell {
    width: 100%;
    background: #ffffff;
    color: var(--ytk-ink);
    font-family: var(--ytk-font-family);
}

.ytk-single-product {
    width: 100%;
    margin: 0;
    padding: 0;
}

/* TOP LAYOUT */

.ytk-product-top {
    width: 100%;
    padding: 28px 0 68px;
    background: #ffffff;
}

.ytk-product-top-inner {
    width: calc(100% - var(--ytk-layout-cut));
    max-width: var(--ytk-layout-max);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    column-gap: 22px;
    row-gap: 12px;
    align-items: start;
}

.ytk-product-heading {
    grid-column: 1 / -1;
    min-width: 0;
}

.ytk-product-main-top {
    min-width: 0;
}

/* TITLE */

.ytk-product-heading h1 {
    max-width: 1060px;
    margin: 0;
    color: var(--ytk-ink);
    font-size: var(--ytk-detail-h1-size);
    line-height: var(--ytk-detail-h1-line-height);
    letter-spacing: var(--ytk-detail-h1-spacing);
    font-weight: 900;
}

.ytk-product-heading h1::after {
    content: ".";
    color: #024f4d;
}

/* META */

.ytk-product-meta-row {
    margin-top: 7px;
    margin-bottom: 7px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(var(--ytk-ink-rgb),0.70);
    font-size: 13.5px;
    line-height: 1.45;
    font-weight: 600;
}

.ytk-product-rating-link {
    color: var(--ytk-ink);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}

.ytk-product-meta-row > .ytk-card-labels--heading {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
}

.ytk-product-rating-stars {
    display: inline-flex;
    align-items: center;
}

.ytk-product-rating-stars .star-rating {
    float: none !important;
    width: 5.7em !important;
    height: 1em !important;
    margin: 0 !important;
    color: var(--ytk-star-color) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    letter-spacing: 1px;
}

.ytk-product-rating-stars .star-rating::before,
.ytk-product-rating-stars .star-rating span::before {
    color: var(--ytk-star-color) !important;
}

.ytk-product-rating-link strong {
    color: var(--ytk-ink);
    font-size: 13.5px;
    font-weight: 750;
}

.ytk-product-rating-link > span:last-child {
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 650;
}

.ytk-product-meta-dot {
    color: rgba(var(--ytk-ink-rgb),0.34);
}

.ytk-product-trip-meta {
    color: rgba(var(--ytk-ink-rgb),0.70);
    font-weight: 600;
}

/* KICKER STANDARD */

.ytk-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    color: #024f4d;
    font-size: 14px;
    line-height: 1;
    font-weight: 750;
    letter-spacing: 1.25px;
    text-transform: uppercase;
}

@media (max-width: 1180px) {
    .ytk-product-top-inner {
            grid-template-columns: 1fr;
        }
}

@media (max-width: 760px) {
    .ytk-product-top {
            padding: 22px 0 42px;
        }

    .ytk-section-kicker {
            font-size: 13px;
            font-weight: 750;
            letter-spacing: 1.05px;
        }

    .ytk-section-kicker::before {
            font-size: 22px;
        }

    .ytk-product-top-inner {
            width: calc(100% - var(--ytk-layout-cut));
        }

    .ytk-product-meta-row {
            font-size: 13px;
        }
}

/* PRODUCT HEADING SHARE ALIGNMENT */

.ytk-product-heading {
    position: relative;
}

/* FINAL PRODUCT META, GALLERY AND BOOKING ALIGNMENT */

.ytk-product-meta-row {
    width: 100%;
    flex-wrap: nowrap;
}

.ytk-product-trip-meta {
    min-width: 0;
}

@media (max-width: 760px) {
    .ytk-product-rating-link,
    .ytk-product-meta-dot {
        flex: 0 0 auto;
    }

    .ytk-product-trip-meta {
            overflow: hidden;
            text-overflow: ellipsis;
        }

    body.single-product {
            padding-bottom: calc(88px + env(safe-area-inset-bottom));
        }

    .ytk-product-page-shell .ytk-section-kicker {
            display: none !important;
        }
}

/* PRODUCT HEADING SCALE */
.ytk-single-product h2 { font-size: clamp(26px, 2.3vw, 34px) !important; font-weight: 900 !important; }

@media (max-width: 760px) {
    .ytk-single-product h2 { font-size: 26px !important; font-weight: 900 !important; }
}

.ytk-product-signature {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 10px;
    color: #5f6879;
    font-size: 13px;
    line-height: 1;
    font-weight: 750;
    letter-spacing: -0.1px;
}

.ytk-product-signature img {
    display: block;
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
    border-radius: 50%;
    object-fit: cover;
}

@media (max-width: 760px) {
    .ytk-product-signature {
            margin-bottom: 9px;
            font-size: 12.5px;
        }

    .ytk-product-signature img {
            width: 20px;
            height: 20px;
            flex-basis: 20px;
        }

    .ytk-product-meta-row {
            flex-wrap: wrap;
        }

    .ytk-product-meta-dot,
        .ytk-product-trip-meta {
            order: 3;
            margin-top: 8px;
        }

    .ytk-product-meta-row {
            display: grid !important;
            --ytk-meta-first-row: 1;
            --ytk-meta-trip-row: 2;
            grid-template-columns: minmax(0, 1fr);
            align-items: center;
            gap: 8px 12px;
        }

    .ytk-product-meta-row:has(> .ytk-card-labels--heading) {
            --ytk-meta-first-row: 2;
            --ytk-meta-trip-row: 3;
        }

    .ytk-product-meta-row > .ytk-card-labels--heading {
            grid-column: 1 / -1;
            grid-row: 1;
        }

    .ytk-product-rating-link {
            grid-column: 1;
            grid-row: var(--ytk-meta-first-row);
            order: initial;
            min-width: 0;
        }

    .ytk-product-meta-dot {
            display: none !important;
        }

    .ytk-product-trip-meta {
            display: block !important;
            grid-column: 1 / -1;
            grid-row: var(--ytk-meta-trip-row);
            margin-top: 0;
            white-space: normal;
        }

    .ytk-product-meta-row:not(:has(.ytk-product-rating-link)) .ytk-product-trip-meta {
            grid-column: 1;
            grid-row: var(--ytk-meta-first-row);
            align-self: center;
        }

    .ytk-product-main-top {
            margin-top: -6px !important;
        }
}
