.elementor-911 .elementor-element.elementor-element-2a7fcce{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-911 .elementor-element.elementor-element-1691ec89:not(.elementor-motion-effects-element-type-background), .elementor-911 .elementor-element.elementor-element-1691ec89 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-911 .elementor-element.elementor-element-1691ec89 > .elementor-container{max-width:1600px;}.elementor-911 .elementor-element.elementor-element-1691ec89{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:40px;margin-bottom:50px;}.elementor-911 .elementor-element.elementor-element-1691ec89 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-911 .elementor-element.elementor-element-10e8a256 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:12px;}.elementor-911 .elementor-element.elementor-element-3564e3cd{text-align:left;}.elementor-911 .elementor-element.elementor-element-3564e3cd .wpr-logo{padding:0px 0px 0px 0px;border-radius:2px 2px 2px 2px;}.elementor-911 .elementor-element.elementor-element-3564e3cd .wpr-logo-image{max-width:148px;}.elementor-911 .elementor-element.elementor-element-3564e3cd.wpr-logo-position-left .wpr-logo-image{margin-right:0px;}.elementor-911 .elementor-element.elementor-element-3564e3cd.wpr-logo-position-right .wpr-logo-image{margin-left:0px;}.elementor-911 .elementor-element.elementor-element-3564e3cd.wpr-logo-position-center .wpr-logo-image{margin-bottom:0px;}.elementor-911 .elementor-element.elementor-element-3564e3cd .wpr-logo-image img{-webkit-transition-duration:0.7s;transition-duration:0.7s;}.elementor-911 .elementor-element.elementor-element-3564e3cd .wpr-logo-title{color:#605BE5;margin:0 0 0px;}.elementor-911 .elementor-element.elementor-element-3564e3cd .wpr-logo-description{color:#888888;}.elementor-911 .elementor-element.elementor-element-382cbba2 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:16px;}.elementor-911 .elementor-element.elementor-element-290fed88{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:500;line-height:0.9em;color:#0591F9;}.elementor-911 .elementor-element.elementor-element-7f627825 .elementor-heading-title{font-family:"Lato", Sans-serif;font-size:14px;font-weight:400;color:#000000;}.elementor-911 .elementor-element.elementor-element-2a3e4705 .elementor-heading-title{font-family:"Lato", Sans-serif;font-size:14px;font-weight:400;color:#000000;}.elementor-911 .elementor-element.elementor-element-1846a8b1 .elementor-heading-title{font-family:"Lato", Sans-serif;font-size:14px;font-weight:400;color:#000000;}.elementor-911 .elementor-element.elementor-element-62bd624d .elementor-heading-title{font-family:"Lato", Sans-serif;font-size:14px;font-weight:400;color:#000000;}.elementor-911 .elementor-element.elementor-element-13b84a70 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:16px;}.elementor-911 .elementor-element.elementor-element-1ac84d4d{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:500;line-height:0.9em;color:#0591F9;}.elementor-911 .elementor-element.elementor-element-1dc7787c .elementor-heading-title{font-family:"Lato", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-911 .elementor-element.elementor-element-42f79bf0 .elementor-heading-title{font-family:"Lato", Sans-serif;font-size:14px;font-weight:400;color:#000000;}.elementor-911 .elementor-element.elementor-element-2205d615 .elementor-heading-title{font-family:"Lato", Sans-serif;font-size:14px;font-weight:400;line-height:1.4em;color:#000000;}.elementor-911 .elementor-element.elementor-element-2d51e05{text-align:center;font-family:"Lato", Sans-serif;font-size:13px;font-weight:400;line-height:1.6em;letter-spacing:0.2px;color:#848484;}.elementor-911 .elementor-element.elementor-element-1c28e25d{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:120px;--padding-left:0px;--padding-right:0px;}.elementor-911 .elementor-element.elementor-element-3cc9e813{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-911 .elementor-element.elementor-element-3a82d800{text-align:center;}.elementor-911 .elementor-element.elementor-element-10d4ee18{text-align:center;}.elementor-911 .elementor-element.elementor-element-10d4ee18 .elementor-heading-title{font-size:26px;color:#0591F9;}.elementor-911 .elementor-element.elementor-element-460fd4ef{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-911 .elementor-element.elementor-element-1a39e6a{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:100px;--padding-right:0px;}.elementor-911 .elementor-element.elementor-element-6b711dea{text-align:center;}.elementor-911 .elementor-element.elementor-element-6b711dea img{width:27%;}.elementor-911 .elementor-element.elementor-element-2af3a794{text-align:center;}.elementor-911 .elementor-element.elementor-element-2af3a794 .elementor-heading-title{font-size:20px;}.elementor-911 .elementor-element.elementor-element-495a0df4 .elementor-button{background-color:#0591F9;fill:#FFFFFF;color:#FFFFFF;}.elementor-911 .elementor-element.elementor-element-495a0df4 > .elementor-widget-container{padding:30px 0px 0px 0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-911 .elementor-element.elementor-element-1691ec89{padding:0px 20px 0px 20px;}.elementor-911 .elementor-element.elementor-element-290fed88{font-size:15px;}.elementor-911 .elementor-element.elementor-element-1ac84d4d{font-size:15px;}.elementor-911 .elementor-element.elementor-element-1c28e25d{--padding-top:0px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-911 .elementor-element.elementor-element-1a39e6a{--padding-top:0px;--padding-bottom:0px;--padding-left:50px;--padding-right:0px;}}@media(min-width:768px){.elementor-911 .elementor-element.elementor-element-2a7fcce{--content-width:1600px;}.elementor-911 .elementor-element.elementor-element-1c28e25d{--content-width:1600px;}.elementor-911 .elementor-element.elementor-element-1a39e6a{--width:100%;}}@media(max-width:767px){.elementor-911 .elementor-element.elementor-element-1691ec89{margin-top:0px;margin-bottom:0px;}.elementor-911 .elementor-element.elementor-element-1c28e25d{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-911 .elementor-element.elementor-element-10d4ee18 .elementor-heading-title{font-size:22px;}.elementor-911 .elementor-element.elementor-element-1a39e6a{--padding-top:30px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-911 .elementor-element.elementor-element-6b711dea img{width:60%;}.elementor-911 .elementor-element.elementor-element-2af3a794 .elementor-heading-title{font-size:20px;}}/* Start custom CSS for html, class: .elementor-element-4807ded *//* ==========================================================
   SAFARI ALB — ALBANIA + KOSOVO TOUR
   COMPLETE PREMIUM WEBSITE CSS
   Brand: Cyan + Lime + Navy
   RTL / Arabic / Desktop / Tablet / Mobile
   ========================================================== */


/* ==========================================================
   01. BRAND VARIABLES
   ========================================================== */

.albania-tour {
    --cyan: #00BFE7;
    --cyan-dark: #009FC4;
    --cyan-deep: #008AAE;
    --cyan-soft: #EAFBFE;

    --lime: #BACC40;
    --lime-dark: #9FB52E;
    --lime-soft: #F7F9E8;

    --navy: #092B49;
    --navy-2: #123F55;
    --navy-dark: #061F30;

    --text: #40566B;
    --muted: #7B8E9D;

    --white: #FFFFFF;
    --light: #F7FBFC;
    --light-2: #F0F7F9;

    --border: #DFEBEF;

    --shadow-sm:
        0 8px 25px rgba(9, 43, 73, .06);

    --shadow-md:
        0 18px 45px rgba(9, 43, 73, .10);

    --shadow-lg:
        0 28px 65px rgba(9, 43, 73, .15);

    font-family: Arial, Helvetica, sans-serif;

    direction: rtl;
    text-align: right;

    color: var(--text);
    background: var(--white);

    font-size: 16px;
    line-height: 1.85;

    overflow-x: hidden;
}


/* ==========================================================
   02. RESET
   ========================================================== */

.albania-tour *,
.albania-tour *::before,
.albania-tour *::after {
    box-sizing: border-box;
}

.albania-tour img {
    display: block;
    width: 100%;
    max-width: 100%;
}

.albania-tour h1,
.albania-tour h2,
.albania-tour h3,
.albania-tour p {
    padding: 0;
}

.albania-tour h1,
.albania-tour h2,
.albania-tour h3 {
    font-family: Arial, Helvetica, sans-serif;
}

.albania-tour p {
    color: var(--text);
}

.albania-tour a {
    text-decoration: none;
}


/* ==========================================================
   03. GENERAL CONTAINERS
   ========================================================== */

.tour-section,
.tour-day,
.vehicle-section {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.tour-section,
.vehicle-section {
    padding-top: 100px;
    padding-bottom: 100px;
}


/* ==========================================================
   04. SECTION TITLES
   ========================================================== */

.section-heading {
    position: relative;

    max-width: 760px;

    margin: 0 auto 60px;

    text-align: center;
}

.section-heading > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-bottom: 13px;

    padding: 7px 15px;

    border: 1px solid rgba(0, 191, 231, .12);
    border-radius: 50px;

    background: var(--cyan-soft);

    color: var(--cyan-dark);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: .5px;
}

.section-heading > span::before {
    content: "";

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--lime);
}

.section-heading h2 {
    margin: 0;

    color: var(--navy);

    font-size: clamp(32px, 4vw, 48px);
    font-weight: 800;

    line-height: 1.25;
}

.section-heading::after {
    content: "";

    display: block;

    width: 54px;
    height: 4px;

    margin: 22px auto 0;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            var(--cyan) 0%,
            var(--cyan) 72%,
            var(--lime) 72%,
            var(--lime) 100%
        );
}


/* ==========================================================
   05. BUTTON
   ========================================================== */

.tour-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 50px;

    padding: 12px 28px;

    border: 0;
    border-radius: 12px;

    background: var(--cyan);

    color: #fff !important;

    font-size: 14px;
    font-weight: 800;

    box-shadow:
        0 12px 28px rgba(0, 191, 231, .26);

    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease,
        box-shadow .3s ease;
}

.tour-btn:hover {
    background: var(--cyan-dark);

    transform: translateY(-3px);

    box-shadow:
        0 17px 35px rgba(0, 191, 231, .34);
}


/* ==========================================================
   06. HERO
   ========================================================== */

.tour-hero {
    position: relative;

    width: 100%;
    height: 720px;
    min-height: 620px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background: var(--navy);

    isolation: isolate;
}


/* HERO IMAGE */

.tour-hero > img {
    position: absolute;

    inset: 0;

    z-index: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transform: scale(1.01);

    transition: transform 8s ease;
}

.tour-hero:hover > img {
    transform: scale(1.055);
}


/* HERO DARK GRADIENT */

.tour-hero::before {
    content: "";

    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            180deg,
            rgba(4, 27, 43, .08) 0%,
            rgba(4, 27, 43, .12) 25%,
            rgba(4, 27, 43, .28) 55%,
            rgba(4, 27, 43, .80) 100%
        );
}


/* CYAN BRAND ATMOSPHERE */

.tour-hero::after {
    content: "";

    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(0, 191, 231, .15) 0%,
            rgba(0, 191, 231, .03) 42%,
            transparent 70%
        );
}


/* HERO CONTENT */

.hero-overlay {
    position: relative;

    z-index: 3;

    width: min(1180px, calc(100% - 40px));
    height: 100%;

    margin: auto;

    padding: 100px 20px 65px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: flex-end;

    text-align: center;
}


/* COUNTRY LABEL */

.hero-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    margin-bottom: 18px;

    padding: 8px 17px;

    border: 1px solid rgba(255, 255, 255, .30);
    border-radius: 50px;

    background: rgba(0, 191, 231, .18);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    color: #fff;

    font-size: 11px;
    font-weight: 800;

    box-shadow:
        0 8px 25px rgba(0, 0, 0, .08);
}

.hero-label::before {
    content: "";

    width: 7px;
    height: 7px;

    flex: 0 0 7px;

    border-radius: 50%;

    background: var(--lime);

    box-shadow:
        0 0 0 4px rgba(186, 204, 64, .14);
}


/* HERO TITLE */

.hero-overlay h1 {
    max-width: 900px;

    margin: 0;

    color: #fff;

    font-size: clamp(50px, 6vw, 78px);
    font-weight: 800;

    line-height: 1.08;

    letter-spacing: -.7px;

    text-shadow:
        0 6px 25px rgba(0, 0, 0, .22);
}


/* HERO DESCRIPTION */

.hero-overlay p {
    max-width: 700px;

    margin: 20px auto 28px;

    color: rgba(255, 255, 255, .92);

    font-size: 16px;

    line-height: 1.8;
}


/* HERO BUTTON */

.hero-overlay .tour-btn {
    min-width: 175px;

    border: 1px solid rgba(255,255,255,.14);

    background: var(--cyan);

    box-shadow:
        0 13px 30px rgba(0, 191, 231, .30);
}

.hero-overlay .tour-btn:hover {
    background: var(--lime);

    color: var(--navy) !important;

    box-shadow:
        0 17px 38px rgba(186, 204, 64, .25);
}


/* ==========================================================
   07. INTRO SECTION
   ========================================================== */

.intro-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: clamp(50px, 7vw, 85px);

    align-items: center;
}

.intro-text h3 {
    margin: 0 0 18px;

    color: var(--navy);

    font-size: 30px;
    font-weight: 800;

    line-height: 1.4;
}

.intro-text > p {
    margin: 0;

    color: var(--text);

    font-size: 15px;

    line-height: 2;
}


/* ==========================================================
   08. CHECK LIST
   ========================================================== */

.check-list {
    list-style: none;

    margin: 28px 0 0;
    padding: 0;

    display: grid;

    gap: 9px;
}

.check-list li {
    position: relative;

    margin: 0;

    padding: 12px 46px 12px 16px;

    border: 1px solid var(--border);
    border-radius: 11px;

    background: #fff;

    color: var(--navy);

    font-size: 14px;
    font-weight: 700;

    transition:
        border-color .25s ease,
        background .25s ease;
}

.check-list li:hover {
    border-color: rgba(0,191,231,.35);

    background: #FBFEFF;
}

.check-list li::before {
    content: "✓";

    position: absolute;

    right: 13px;
    top: 50%;

    width: 23px;
    height: 23px;

    display: grid;
    place-items: center;

    transform: translateY(-50%);

    border-radius: 50%;

    background: var(--lime);

    color: var(--navy);

    font-size: 11px;
    font-weight: 900;
}


/* ==========================================================
   09. DESTINATIONS
   ========================================================== */

.destination-list {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-top: 26px;
}

.destination-list span {
    display: inline-flex;
    align-items: center;

    padding: 7px 14px;

    border: 1px solid #D6EDF2;
    border-radius: 50px;

    background: #F8FDFE;

    color: var(--cyan-dark);

    font-size: 12px;
    font-weight: 700;

    transition:
        transform .25s ease,
        color .25s ease,
        background .25s ease,
        border-color .25s ease;
}

.destination-list span:hover {
    border-color: var(--cyan);

    background: var(--cyan);

    color: #fff;

    transform: translateY(-2px);
}


/* ==========================================================
   10. INTRO IMAGE
   ========================================================== */

.intro-image {
    position: relative;
}

.intro-image::before {
    content: "";

    position: absolute;

    top: 17px;
    right: -17px;

    width: 100%;
    height: 100%;

    z-index: 0;

    border: 2px solid rgba(0, 191, 231, .22);
    border-radius: 24px;
}

.intro-image::after {
    content: "";

    position: absolute;

    left: -9px;
    bottom: -9px;

    z-index: 2;

    width: 55px;
    height: 55px;

    border-radius: 16px;

    background: var(--lime);

    opacity: .90;
}

.intro-image img {
    position: relative;

    z-index: 1;

    height: 440px;

    object-fit: cover;

    border-radius: 24px;

    box-shadow: var(--shadow-lg);
}


/* ==========================================================
   11. ITINERARY
   ========================================================== */

.tour-day {
    position: relative;

    padding-top: 90px;
    padding-bottom: 90px;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: clamp(50px, 7vw, 90px);

    align-items: center;
}

.tour-day + .tour-day {
    border-top: 1px solid var(--border);
}


/* ALTERNATING LAYOUT */

.tour-day.reverse .day-image {
    order: 2;
}

.tour-day.reverse .day-content {
    order: 1;
}


/* ==========================================================
   12. DAY IMAGE
   ========================================================== */

.day-image {
    position: relative;

    overflow: hidden;

    border-radius: 22px;

    background: var(--light);

    box-shadow: var(--shadow-md);
}

.day-image::before {
    content: "";

    position: absolute;

    inset: 10px;

    z-index: 2;

    border: 1px solid rgba(255,255,255,.55);
    border-radius: 15px;

    pointer-events: none;
}

.day-image::after {
    content: "";

    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            180deg,
            transparent 65%,
            rgba(6,31,48,.20)
        );

    pointer-events: none;
}

.day-image img {
    width: 100%;
    height: 430px;

    object-fit: cover;

    transition:
        transform .7s ease,
        filter .7s ease;
}

.day-image:hover img {
    transform: scale(1.045);

    filter: saturate(1.04);
}


/* ==========================================================
   13. DAY CONTENT
   ========================================================== */

.day-content {
    position: relative;
}

.day-number {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    padding: 7px 14px;

    border: 1px solid rgba(0,191,231,.12);
    border-radius: 8px;

    background: var(--cyan-soft);

    color: var(--cyan-dark);

    font-size: 11px;
    font-weight: 800;
}

.day-number::before {
    content: "";

    width: 6px;
    height: 6px;

    flex: 0 0 6px;

    border-radius: 50%;

    background: var(--lime);
}

.day-content h2 {
    margin: 14px 0 20px;

    color: var(--navy);

    font-size: clamp(32px, 4vw, 45px);
    font-weight: 800;

    line-height: 1.25;
}

.day-content > p {
    margin: 0 0 15px;

    color: var(--text);

    font-size: 15px;

    line-height: 2;
}


/* ==========================================================
   14. DAY INFO BOX
   ========================================================== */

.evening-box {
    position: relative;

    margin-top: 24px;

    padding: 20px 22px;

    border: 1px solid #DDEFF2;
    border-right: 4px solid var(--cyan);
    border-radius: 0 12px 12px 0;

    background:
        linear-gradient(
            135deg,
            #ECFAFC,
            #FBFEFF
        );
}

.evening-box::before {
    content: "";

    position: absolute;

    right: -4px;
    top: 0;

    width: 4px;
    height: 35%;

    background: var(--lime);
}

.evening-box h3 {
    margin: 0 0 5px;

    color: var(--navy);

    font-size: 16px;
    font-weight: 800;
}

.evening-box p {
    margin: 0;

    color: #53697B;

    font-size: 14px;

    line-height: 1.9;
}


/* ==========================================================
   15. FINAL DAY
   ========================================================== */

.final-day {
    position: relative;

    min-height: 540px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background: var(--navy);
}

.final-day > img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.final-day::before {
    content: "";

    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            180deg,
            rgba(5, 30, 49, .25),
            rgba(5, 30, 49, .84)
        );
}

.final-day::after {
    content: "";

    position: absolute;

    z-index: 1;

    width: 360px;
    height: 360px;

    left: -160px;
    bottom: -190px;

    border-radius: 50%;

    background: var(--cyan);

    opacity: .15;
}

.final-day-content {
    position: relative;

    z-index: 2;

    width: min(750px, calc(100% - 40px));

    padding: 50px 20px;

    text-align: center;
}

.final-day-content span {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 8px;

    color: #8FE9F8;

    font-size: 12px;
    font-weight: 800;
}

.final-day-content span::before {
    content: "";

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--lime);
}

.final-day-content h2 {
    margin: 0 0 15px;

    color: #fff;

    font-size: clamp(40px, 6vw, 58px);
    font-weight: 800;

    line-height: 1.15;
}

.final-day-content p {
    max-width: 560px;

    margin: auto;

    color: rgba(255,255,255,.90);

    font-size: 16px;
}


/* ==========================================================
   16. INCLUDED
   ========================================================== */

.included-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 16px;
}

.included-item {
    position: relative;

    min-height: 175px;

    padding: 28px 23px;

    overflow: hidden;

    border: 1px solid var(--border);
    border-radius: 17px;

    background: #fff;

    box-shadow: var(--shadow-sm);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.included-item::before {
    content: "";

    position: absolute;

    top: 0;
    right: 0;

    width: 100%;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            var(--cyan) 0%,
            var(--cyan) 78%,
            var(--lime) 78%,
            var(--lime) 100%
        );

    transform: scaleX(0);
    transform-origin: right;

    transition: transform .3s ease;
}

.included-item::after {
    content: "";

    position: absolute;

    left: -30px;
    bottom: -30px;

    width: 85px;
    height: 85px;

    border-radius: 50%;

    background: var(--cyan-soft);
}

.included-item:hover {
    transform: translateY(-5px);

    border-color: #CDE9EF;

    box-shadow: var(--shadow-md);
}

.included-item:hover::before {
    transform: scaleX(1);
}

.included-item strong {
    position: relative;

    z-index: 2;

    display: block;

    color: var(--cyan-dark);

    font-size: 27px;
    font-weight: 900;
}

.included-item p {
    position: relative;

    z-index: 2;

    margin: 12px 0 0;

    color: var(--navy);

    font-size: 14px;

    line-height: 1.8;
}


/* ==========================================================
   17. NOT INCLUDED
   ========================================================== */

.not-included {
    padding: 95px 20px;

    background:
        linear-gradient(
            180deg,
            #F6FAFB 0%,
            #EEF7F9 100%
        );
}

.not-included .section-heading {
    max-width: 760px;
}

.not-included-list {
    width: min(1050px, 100%);

    margin: auto;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 16px;
}

.not-included-list > div {
    padding: 26px;

    display: flex;
    align-items: flex-start;

    gap: 15px;

    border: 1px solid var(--border);
    border-radius: 16px;

    background: #fff;

    box-shadow: var(--shadow-sm);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.not-included-list > div:hover {
    transform: translateY(-4px);

    border-color: #D1E8ED;

    box-shadow: var(--shadow-md);
}

.not-included-list span {
    flex: 0 0 40px;

    width: 40px;
    height: 40px;

    display: grid;
    place-items: center;

    border-radius: 11px;

    background: var(--cyan-soft);

    color: var(--cyan-dark);

    font-size: 12px;
    font-weight: 900;
}

.not-included-list > div:nth-child(2) span {
    background: var(--lime-soft);

    color: var(--lime-dark);
}

.not-included-list p {
    margin: 3px 0 0;

    color: var(--text);

    font-size: 14px;

    line-height: 1.8;
}


/* ==========================================================
   18. PRICING SECTION
   ========================================================== */

.pricing-section {
    width: min(1220px, calc(100% - 40px));
}


/* ==========================================================
   19. PRICE GROUP
   ========================================================== */

.price-group {
    margin-bottom: 25px;

    overflow: hidden;

    border: 1px solid var(--border);
    border-radius: 18px;

    background: #fff;

    box-shadow: var(--shadow-sm);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.price-group:hover {
    transform: translateY(-3px);

    box-shadow: var(--shadow-md);
}


/* ==========================================================
   20. PRICE HEADER
   ========================================================== */

.price-info {
    position: relative;

    margin: 0;

    padding: 22px 24px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 9px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            var(--navy),
            var(--navy-2)
        );
}

.price-info::after {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 5px;
    height: 100%;

    background:
        linear-gradient(
            180deg,
            var(--cyan) 0%,
            var(--cyan) 70%,
            var(--lime) 70%,
            var(--lime) 100%
        );
}

.price-info h3 {
    margin: 0 0 0 8px;

    padding: 0;

    color: #fff;

    font-size: 19px;
    font-weight: 800;
}

.price-info p {
    margin: 0;

    padding: 6px 11px;

    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50px;

    background: rgba(255,255,255,.08);

    color: rgba(255,255,255,.78);

    font-size: 11px;
    font-weight: 700;
}


/* ==========================================================
   21. PRICE TABLE
   ========================================================== */

.price-table {
    width: 100%;

    border-collapse: collapse;

    background: #fff;
}

.price-table th {
    padding: 14px 18px;

    border-bottom: 1px solid var(--border);

    background: #F5FAFB;

    color: var(--muted);

    text-align: right;

    font-size: 11px;
    font-weight: 800;
}

.price-table td {
    padding: 17px 18px;

    border-bottom: 1px solid #EDF2F4;

    background: #fff;

    color: var(--text);

    font-size: 13px;

    line-height: 1.7;

    vertical-align: middle;

    transition: background .2s ease;
}

.price-table tbody tr:last-child td {
    border-bottom: 0;
}

.price-table tbody tr:hover td {
    background: #F3FCFD;
}

.price-table td:first-child {
    width: 125px;

    color: var(--navy);

    font-weight: 800;
}

.price-table td:last-child {
    width: 130px;

    color: var(--cyan-dark);

    font-size: 18px;
    font-weight: 900;

    white-space: nowrap;
}


/* ==========================================================
   22. PRICE NOTES
   ========================================================== */

.price-notes {
    position: relative;

    margin-top: 35px;

    padding: 25px 27px;

    overflow: hidden;

    border: 1px solid #D6EBEF;
    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            var(--cyan-soft),
            #FBFEFF
        );
}

.price-notes::before {
    content: "";

    position: absolute;

    top: 0;
    right: 0;
    bottom: 0;

    width: 4px;

    background:
        linear-gradient(
            180deg,
            var(--cyan) 0%,
            var(--cyan) 70%,
            var(--lime) 70%
        );
}

.price-notes p {
    margin: 4px 0;

    color: var(--text);

    font-size: 14px;
}

.price-notes strong {
    color: var(--navy);
}

.price-notes b {
    color: var(--cyan-dark);
}


/* ==========================================================
   23. VEHICLES
   ========================================================== */

.vehicle-section {
    padding-top: 90px;
    padding-bottom: 100px;
}

.vehicle-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 15px;
}

.vehicle-card {
    position: relative;

    padding: 32px 20px;

    overflow: hidden;

    text-align: center;

    border: 1px solid var(--border);
    border-radius: 16px;

    background: #fff;

    box-shadow: var(--shadow-sm);

    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.vehicle-card::before {
    content: "";

    display: block;

    width: 42px;
    height: 4px;

    margin: 0 auto 18px;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            var(--cyan) 0%,
            var(--cyan) 72%,
            var(--lime) 72%,
            var(--lime) 100%
        );
}

.vehicle-card::after {
    content: "";

    position: absolute;

    width: 80px;
    height: 80px;

    left: -40px;
    bottom: -40px;

    border-radius: 50%;

    background: var(--cyan-soft);
}

.vehicle-card:hover {
    transform: translateY(-5px);

    border-color: #CDE5E9;

    box-shadow: var(--shadow-md);
}

.vehicle-card h3 {
    position: relative;

    z-index: 2;

    margin: 0 0 8px;

    color: var(--navy);

    font-size: 18px;
    font-weight: 800;
}

.vehicle-card p {
    position: relative;

    z-index: 2;

    margin: 2px 0;

    color: var(--muted);

    font-size: 13px;
}

.vehicle-note {
    margin-top: 20px;

    padding: 17px 20px;

    border: 1px solid #D8EDF1;
    border-radius: 12px;

    background: var(--cyan-soft);

    color: var(--text);

    text-align: center;

    font-size: 13px;
}


/* ==========================================================
   24. BOOKING CTA
   ========================================================== */

.booking-section {
    position: relative;

    width: min(1180px, calc(100% - 40px));

    margin: 25px auto 70px;

    padding: 62px 55px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 40px;

    overflow: hidden;

    border-radius: 24px;

    background:
        linear-gradient(
            135deg,
            var(--navy-dark) 0%,
            var(--navy) 55%,
            #0B5267 100%
        );

    box-shadow:
        0 22px 55px rgba(9,43,73,.18);
}

.booking-section::before {
    content: "";

    position: absolute;

    width: 290px;
    height: 290px;

    left: -110px;
    top: -160px;

    border-radius: 50%;

    background: var(--cyan);

    opacity: .15;
}

.booking-section::after {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    right: 40%;
    bottom: -100px;

    border-radius: 50%;

    background: var(--lime);

    opacity: .10;
}

.booking-section > div,
.booking-section > .tour-btn {
    position: relative;

    z-index: 2;
}

.booking-section > div > span {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    color: var(--lime);

    font-size: 11px;
    font-weight: 800;
}

.booking-section > div > span::before {
    content: "";

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--cyan);
}

.booking-section h2 {
    margin: 7px 0 9px;

    color: #fff;

    font-size: clamp(30px, 4vw, 41px);
    font-weight: 800;

    line-height: 1.25;
}

.booking-section p {
    max-width: 600px;

    margin: 0;

    color: rgba(255,255,255,.78);

    font-size: 14px;
}

.booking-section .tour-btn {
    flex: 0 0 auto;

    min-width: 175px;

    background: var(--cyan);

    color: #fff !important;
}

.booking-section .tour-btn:hover {
    background: var(--lime);

    color: var(--navy) !important;

    box-shadow:
        0 16px 35px rgba(186,204,64,.20);
}


/* ==========================================================
   25. TABLET
   ========================================================== */

@media (max-width: 1024px) {

    .tour-section,
    .vehicle-section {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .intro-grid {
        gap: 45px;
    }

    .tour-day {
        gap: 45px;

        padding-top: 75px;
        padding-bottom: 75px;
    }

    .intro-image img {
        height: 380px;
    }

    .day-image img {
        height: 380px;
    }

    .included-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .vehicle-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .not-included-list {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   26. MOBILE
   ========================================================== */

@media (max-width: 767px) {

    .albania-tour {
        font-size: 15px;
    }


    /* HERO */

    .tour-hero {
        height: 590px;
        min-height: 590px;
    }

    .hero-overlay {
        width: calc(100% - 30px);

        padding:
            70px
            5px
            42px;
    }

    .hero-label {
        margin-bottom: 13px;

        padding: 7px 14px;

        font-size: 10px;
    }

    .hero-overlay h1 {
        font-size: 42px;

        line-height: 1.14;

        letter-spacing: -.3px;
    }

    .hero-overlay p {
        max-width: 430px;

        margin: 15px auto 21px;

        font-size: 14px;

        line-height: 1.7;
    }

    .hero-overlay .tour-btn {
        min-width: 160px;
        min-height: 48px;
    }


    /* GLOBAL WIDTH */

    .tour-section,
    .tour-day,
    .vehicle-section,
    .pricing-section {
        width: calc(100% - 30px);
    }

    .tour-section,
    .vehicle-section {
        padding-top: 65px;
        padding-bottom: 65px;
    }


    /* SECTION HEADINGS */

    .section-heading {
        margin-bottom: 40px;
    }

    .section-heading > span {
        font-size: 10px;
    }

    .section-heading h2 {
        font-size: 30px;
    }

    .section-heading::after {
        margin-top: 17px;
    }


    /* INTRO */

    .intro-grid {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .intro-image {
        order: -1;
    }

    .intro-image::before,
    .intro-image::after {
        display: none;
    }

    .intro-image img {
        height: 300px;

        border-radius: 18px;
    }

    .intro-text h3 {
        font-size: 25px;
    }

    .intro-text > p {
        font-size: 14px;

        line-height: 1.9;
    }


    /* DESTINATIONS */

    .destination-list {
        gap: 6px;
    }

    .destination-list span {
        padding: 6px 11px;

        font-size: 11px;
    }


    /* ITINERARY */

    .tour-day {
        grid-template-columns: 1fr;

        gap: 28px;

        padding-top: 58px;
        padding-bottom: 58px;
    }

    .tour-day.reverse .day-image,
    .tour-day.reverse .day-content {
        order: initial;
    }

    .day-image {
        border-radius: 18px;
    }

    .day-image img {
        height: 295px;
    }

    .day-image::before {
        inset: 8px;

        border-radius: 12px;
    }

    .day-content h2 {
        margin-top: 11px;

        font-size: 31px;
    }

    .day-content > p {
        font-size: 14px;

        line-height: 1.9;
    }

    .evening-box {
        padding: 18px;

        border-radius: 0 10px 10px 0;
    }


    /* FINAL DAY */

    .final-day {
        min-height: 440px;
    }

    .final-day-content {
        width: calc(100% - 30px);

        padding-inline: 5px;
    }

    .final-day-content h2 {
        font-size: 39px;
    }

    .final-day-content p {
        font-size: 14px;
    }


    /* INCLUDED */

    .included-grid {
        grid-template-columns: 1fr;

        gap: 11px;
    }

    .included-item {
        min-height: auto;

        padding: 22px 20px;
    }

    .included-item strong {
        font-size: 23px;
    }


    /* NOT INCLUDED */

    .not-included {
        padding: 65px 15px;
    }

    .not-included-list {
        grid-template-columns: 1fr;

        gap: 11px;
    }

    .not-included-list > div {
        padding: 20px;
    }


    /* PRICE HEADER */

    .price-group {
        border-radius: 15px;
    }

    .price-info {
        padding: 18px;

        gap: 7px;
    }

    .price-info h3 {
        width: 100%;

        margin: 0 0 4px;

        font-size: 18px;
    }

    .price-info p {
        padding: 5px 9px;

        font-size: 10px;
    }


    /* ======================================================
       MOBILE PRICING
       Table becomes individual cards
       ====================================================== */

    .price-table,
    .price-table thead,
    .price-table tbody,
    .price-table tr,
    .price-table th,
    .price-table td {
        display: block;

        width: 100%;
    }

    .price-table thead {
        display: none;
    }

    .price-table {
        background: #F4F9FA;
    }

    .price-table tbody {
        display: grid;

        gap: 10px;

        padding: 10px;
    }

    .price-table tr {
        overflow: hidden;

        border: 1px solid var(--border);
        border-radius: 12px;

        background: #fff;

        box-shadow:
            0 4px 14px rgba(9,43,73,.04);
    }

    .price-table td {
        position: relative;

        width: 100% !important;

        padding:
            10px
            100px
            10px
            12px;

        border: 0;
        border-bottom: 1px solid #EDF2F4;

        background: #fff !important;

        color: var(--text);

        font-size: 12px;

        white-space: normal !important;
    }

    .price-table td:last-child {
        border-bottom: 0;

        color: var(--cyan-dark);

        font-size: 17px;
    }

    .price-table td::before {
        position: absolute;

        right: 12px;
        top: 10px;

        width: 75px;

        color: var(--muted);

        font-size: 10px;
        font-weight: 800;
    }

    .price-table td:nth-child(1)::before {
        content: "العرض";
    }

    .price-table td:nth-child(2)::before {
        content: "الفنادق";
    }

    .price-table td:nth-child(3)::before {
        content: "السعر";
    }


    /* PRICE NOTES */

    .price-notes {
        margin-top: 25px;

        padding: 20px;
    }

    .price-notes p {
        font-size: 12px;
    }


    /* VEHICLES */

    .vehicle-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;
    }

    .vehicle-card {
        padding: 25px 15px;
    }


    /* CTA */

    .booking-section {
        width: calc(100% - 30px);

        margin: 15px auto 45px;

        padding: 44px 24px;

        display: block;

        text-align: center;

        border-radius: 19px;
    }

    .booking-section h2 {
        font-size: 30px;
    }

    .booking-section p {
        margin-inline: auto;
    }

    .booking-section .tour-btn {
        width: 100%;

        margin-top: 23px;
    }
}


/* ==========================================================
   27. SMALL MOBILE
   ========================================================== */

@media (max-width: 430px) {

    .tour-hero {
        height: 540px;
        min-height: 540px;
    }

    .hero-overlay {
        padding-bottom: 35px;
    }

    .hero-overlay h1 {
        font-size: 37px;
    }

    .hero-overlay p {
        font-size: 13px;
    }


    .tour-section,
    .tour-day,
    .vehicle-section,
    .pricing-section {
        width: calc(100% - 24px);
    }


    .section-heading h2 {
        font-size: 27px;
    }


    .intro-image img,
    .day-image img {
        height: 255px;
    }


    .day-content h2 {
        font-size: 28px;
    }


    .price-table tbody {
        padding: 8px;
    }

    .price-table td {
        padding-right: 87px;
    }

    .price-table td::before {
        width: 65px;
    }


    .vehicle-grid {
        grid-template-columns: 1fr;
    }


    .booking-section {
        width: calc(100% - 24px);

        padding: 38px 20px;
    }
}


/* ==========================================================
   28. LARGE DESKTOP
   ========================================================== */

@media (min-width: 1400px) {

    .tour-hero {
        height: 760px;
    }

    .tour-section,
    .tour-day,
    .vehicle-section {
        width: min(1220px, calc(100% - 60px));
    }

    .pricing-section {
        width: min(1260px, calc(100% - 60px));
    }

    .intro-image img {
        height: 455px;
    }

    .day-image img {
        height: 455px;
    }
}


/* ==========================================================
   29. ACCESSIBILITY / REDUCED MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .albania-tour *,
    .albania-tour *::before,
    .albania-tour *::after {
        animation: none !important;

        transition-duration: .01ms !important;

        scroll-behavior: auto !important;
    }
}/* End custom CSS */
/* Start custom CSS for wpr-logo, class: .elementor-element-3564e3cd */.elementor-911 .elementor-element.elementor-element-3564e3cd{
    position: relative;
    overflow: hidden;
    border-radius: 20px; /* اختياري */
}

.elementor-911 .elementor-element.elementor-element-3564e3cd::after{
    content: "";
    position: absolute;
    top: -40%;
    left: -150%;

    width: 60%;
    height: 180%;

    background: linear-gradient(
        115deg,
        transparent 20%,
        rgba(255,255,255,0.05) 35%,
        rgba(255,255,255,0.45) 50%,
        rgba(255,255,255,0.05) 65%,
        transparent 80%
    );

    transform: rotate(18deg);
    animation: luxuryShine 4.5s ease-in-out infinite;

    pointer-events: none;
    z-index: 2;
}

@keyframes luxuryShine{
    0%{
        left:-160%;
    }
    100%{
        left:180%;
    }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-6b711dea */.elementor-911 .elementor-element.elementor-element-6b711dea{
    position: relative;
    overflow: visible !important;
    border-radius: 22px;
    transition: transform .45s cubic-bezier(.22,1,.36,1),
                box-shadow .45s ease;
    transform-origin: center;
    z-index: 1;
}

.elementor-911 .elementor-element.elementor-element-6b711dea:hover{
    transform: translateY(-8px) scale(1.015);
    box-shadow: 0 25px 55px rgba(0,0,0,.18);
    z-index: 10;
}

/* يمنع قصّ محتوى البطاقة */
.elementor-911 .elementor-element.elementor-element-6b711dea > .elementor-widget-wrap,
.elementor-911 .elementor-element.elementor-element-6b711dea > .e-con-inner{
    overflow: visible !important;
}
.elementor-911 .elementor-element.elementor-element-6b711dea{
    position: relative;
    overflow: hidden;
    border-radius: 20px; /* اختياري */
}

.elementor-911 .elementor-element.elementor-element-6b711dea::after{
    content: "";
    position: absolute;
    top: -40%;
    left: -150%;

    width: 60%;
    height: 180%;

    background: linear-gradient(
        115deg,
        transparent 20%,
        rgba(255,255,255,0.05) 35%,
        rgba(255,255,255,0.45) 50%,
        rgba(255,255,255,0.05) 65%,
        transparent 80%
    );

    transform: rotate(18deg);
    animation: luxuryShine 4.5s ease-in-out infinite;

    pointer-events: none;
    z-index: 2;
}

@keyframes luxuryShine{
    0%{
        left:-160%;
    }
    100%{
        left:180%;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6039017b *//* =================================
   Contact Section Only
================================= */

.contact-section {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    padding: 30px;

    background: #ffffff;
    border: 1px solid #e8ebf0;
    border-radius: 18px;

    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.07);
}


/* Office Item */

.contact-section .contact-item {
    display: flex;
    align-items: flex-start;
    gap: 18px;

    padding: 24px 0;

    border-bottom: 1px solid #eeeeee;
}

.contact-section .contact-item:first-child {
    padding-top: 0;
}

.contact-section .contact-item:last-child {
    padding-bottom: 0;
    border-bottom: none;
}


/* Icon */

.contact-section .contact-icon {
    width: 48px;
    height: 48px;

    flex: 0 0 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 22px;

    background: #f5f7fa;
    border-radius: 12px;
}


/* Content */

.contact-section .contact-content {
    flex: 1;
}

.contact-section .contact-content h3 {
    margin: 0 0 10px;

    font-size: 19px;
    font-weight: 700;

    color: #172033;
}


.contact-section .contact-content p {
    margin: 0 0 9px;

    font-size: 14px;
    line-height: 1.7;

    color: #687386;
}

.contact-section .contact-content p:last-child {
    margin-bottom: 0;
}


/* Phone / Fax */

.contact-section .contact-content strong {
    color: #273449;
    font-weight: 600;
}


/* Hover */

.contact-section .contact-item {
    transition: transform 0.25s ease;
}

.contact-section .contact-item:hover {
    transform: translateX(4px);
}


/* Mobile */

@media (max-width: 600px) {

    .contact-section {
        padding: 22px 18px;
        border-radius: 14px;
    }

    .contact-section .contact-item {
        gap: 13px;
    }

    .contact-section .contact-icon {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        font-size: 19px;
    }

    .contact-section .contact-content h3 {
        font-size: 17px;
    }

    .contact-section .contact-content p {
        font-size: 13px;
    }
}/* End custom CSS */