/*
Theme Name: Drop-top Child Theme
Theme URI: https://drop-top.themerex.net/
Description: Drop-top is a Premium WordPress theme that has built-in support for popular Page Builders, slider with swipe gestures, and is SEO- and Retina-ready. The unique system of inheritance and override options allows setting up individual parameters for different sections of your site and supported plugins.
Author: ThemeREX
Author URI: https://themerex.net/
Version: 1.7.0
Tested up to: 6.7
Requires at least: 5.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, e-commerce, portfolio, grid-layout, one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, footer-widgets, full-width-template, microformats, post-formats, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks
Text Domain: drop-top
Template: drop-top
*/


/* =Child-Theme customization starts here
------------------------------------------------------------ */

/* -----------------------------
   Packages Section
------------------------------*/

.cars_page_packages {
    margin: 70px 0;
}

.cars_page_packages .cars_page_section_title {
     text-align: left !important;
    margin: 0 0 30px 0 !important;
    display: block;
    width: 100%;
}

.cars_page_packages{
    text-align: left;
}

.cars_page_packages_list{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(260px,1fr)) !important;
    gap:30px !important;
    align-items:stretch !important;
}

/* -----------------------------
   Card
------------------------------*/

.package_card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    position:relative;
    display:flex;
    flex-direction:column;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    transition:all .35s ease;
    height:100%;
}

.package_card:hover{
    transform:translateY(-8px);
}

.sc_cars_item_thumb{
    height:224px;
    overflow:hidden;
}

.sc_cars_item_thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* -----------------------------
   Image
------------------------------*/

.package_image_wrap{
    position:relative;
    height:220px;
    overflow:hidden;
}

.package_image_wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* Circle Icon */

.package_image_wrap::after{
    position:absolute;
    left:50%;
    bottom:-34px;
    transform:translateX(-50%);
    width:72px;
    height:72px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 4px 15px rgba(0,0,0,.12);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    z-index:5;
}

.package_card:nth-child(1) .package_image_wrap::after{
    content:"🍃";
}

.package_card:nth-child(2) .package_image_wrap::after{
    content:"💎";
}

.package_card:nth-child(3) .package_image_wrap::after{
    content:"⭐";
}

.package_card:nth-child(4) .package_image_wrap::after{
    content:"👨‍👩‍👧";
}

/* -----------------------------
   Ribbon
------------------------------*/

.package_ribbon{
    position:absolute;
    top:0;
    right:22px;
    width:64px;
    padding:16px 8px 24px;
    color:#fff;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    line-height:1.15;
    text-align:center;
    clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%);
    z-index:20;
    background:#4b8b43;
}

.package_card:nth-child(2) .package_ribbon{
    background:#dd8618;
}

.package_card:nth-child(3) .package_ribbon{
    background:#355d92;
}

.package_card:nth-child(4) .package_ribbon{
    background:#7c2fc1;
}

/* -----------------------------
   Content
------------------------------*/

.package_content{
    padding:48px 24px 24px !important;
    display:flex !important;
    flex-direction:column !important;
    flex-grow:1 !important;
}

.package_title{
    text-align:center !important;
    font-size:22px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    text-transform:uppercase !important;
    margin-bottom:8px !important;
}

.package_duration{
    text-align:center !important;
    color:#ff8615 !important;
    font-size:14px !important;
    font-weight:600 !important;
    margin-bottom:15px !important;
}

.package_subtitle{
    text-align:center !important;
    color:#666 !important;
    font-size:15px !important;
    line-height:1.7 !important;
    margin-bottom:18px !important;
}

.package_price_wrap{
    margin-bottom:20px;
}

.package_price{
    text-align:center !important;
    color:#ff8615 !important;
    font-size:30px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    margin-bottom:4px !important;
    word-break:break-word !important;
}

.package_price_unit{
    text-align:center;
    color:#555;
    font-size:14px;
    font-weight:500;
}

/* -----------------------------
   Features
------------------------------*/

.package_features{
    list-style:none !important;
    margin:0 !important;
    padding:20px !important;
    background:#f8f8f8 !important;
    border-radius:12px !important;
    flex-grow:1 !important;
}

.package_features li{
    position:relative;
    padding-left:26px;
    margin-bottom:12px;
    line-height:1.5;
    font-size:15px;
}

.package_features li:last-child{
    margin-bottom:0;
}

.package_features li::before{
    content:"✔";
    position:absolute;
    left:0;
    top:0;
    color:#458144;
    font-weight:bold;
}

/* -----------------------------
   Button
------------------------------*/

.package_button{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-align:center;
    text-decoration:none;
    background:#458144;
    color:#fff !important;
    border-radius:10px;
    padding:15px;
    font-weight:700;
    text-transform:uppercase;
    margin-top:20px;
    transition:.3s;
}

.package_button:hover{
    background:#376d36;
    transform:translateY(-2px);
}

.package_button::before{
    margin-right:0;
}

.cars_page_packages .package_title{
    font-size:22px !important;
}

.cars_page_packages .package_price{
    font-size:30px !important;
}

.cars_page_packages .package_subtitle{
    font-size:15px !important;
}

.cars_page_packages .package_duration{
    font-size:14px !important;
}

/* -----------------------------
   Responsive
------------------------------*/

@media(max-width:1200px){

    .cars_page_packages_list{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:768px){

    .cars_page_packages_list{
        grid-template-columns:1fr;
    }

    .package_title{
        font-size:20px;
    }

    .package_price{
        font-size:26px;
    }

}





/* CONTACT SECTION */

.contact_custom_wrap{
    display:flex;
    gap:40px;
    align-items:stretch;
    margin-top:30px;
}

.contact_custom_info{
    width:35%;
    background:#fff;
    padding:40px;
    border-radius:20px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
}

.contact_custom_info h3{
    margin-bottom:30px;
}

.contact_box{
    margin-bottom:35px;
    padding-bottom:25px;
    border-bottom:1px solid #eee;
}

.contact_box strong{
    display:block;
    color:#2f7d32;
    font-size:18px;
    margin-bottom:10px;
}

.contact_box p{
    margin:0;
    line-height:1.8;
}

.contact_custom_map{
    width:65%;
    overflow:hidden;
    border-radius:20px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
}

.contact_custom_map iframe{
    width:100%;
    height:100%;
    min-height:500px;
    display:block;
    border:0;
}

@media(max-width:991px){

    .contact_custom_wrap{
        flex-direction:column;
    }

    .contact_custom_info,
    .contact_custom_map{
        width:100%;
    }

    .contact_custom_map iframe{
        min-height:350px;
    }

}

/* details */


.resort-details-editor{
    background:#fff;
    padding:35px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.resort-details-editor h1,
.resort-details-editor h2,
.resort-details-editor h3,
.resort-details-editor h4,
.resort-details-editor h5,
.resort-details-editor h6{
    margin-bottom:15px;
}

.resort-details-editor p{
    margin-bottom:15px;
}

.resort-details-editor ul,
.resort-details-editor ol{
    margin:0 0 20px 25px;
}

.resort-details-editor li{
    margin-bottom:8px;
}

.resort-details-editor img{
    max-width:100%;
    height:auto;
}

.resort-details-editor table{
    width:100%;
}

.resort-details-editor iframe{
    width:100%;
}

/* ==========================================
   Resort Inquiry Popup
========================================== */

.resort-popup-overlay{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.7);
	z-index:99999;

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

	padding:20px;
}

.resort-popup{
	background:#fff;
	width:100%;
	max-width:500px;
	padding:35px;
	border-radius:20px;
	position:relative;
	box-shadow:0 20px 60px rgba(0,0,0,.25);
}

.resort-popup h3{
	margin-bottom:25px;
	text-align:center;
}

.resort-popup-close{
	position:absolute;
	right:20px;
	top:15px;
	font-size:28px;
	cursor:pointer;
	line-height:1;
}

.resort-popup input{
	width:100%;
	margin-bottom:15px;
	padding:14px 16px;
	border:1px solid #ddd;
	border-radius:8px;
}

.popup_submit_btn{
	width:100%;
	border:none;
	cursor:pointer;
	padding:15px;
	border-radius:10px;
	font-weight:700;
}


/* star label css */

/* Rating Badge */

.sc_cars_item_labels {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 10;
}

.sc_cars_item_labels a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;

    background: #1f2937 !important; /* dark grey */
    color: #ffffff !important;

    padding: 8px 14px !important;

    width: auto !important;
    min-width: 90px !important;
    max-width: none !important;
    height: auto !important;

    border-radius: 6px !important;

    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    white-space: nowrap !important;
    overflow: visible !important;

    text-decoration: none !important;
    box-sizing: border-box;
}

.sc_cars_item_labels a img.emoji {
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    flex-shrink: 0;
    display: inline-block !important;
}

.sc_cars_item_labels a:before,
.sc_cars_item_labels a:after {
    display: none !important;
    content: none !important;
}

.sc_cars_item .sc_cars_item_thumb img {
    min-width: 0 !important;
}

/* city label */

.sc_cars_item_city,
.sc_cars_item_city a {
	color: #8a8a8a;
	font-size: 15px;
	text-decoration: none;
}

.sc_cars_item_separator {
	margin: 0 6px;
	color: #b0b0b0;
}

.sc_cars_item_type,
.sc_cars_item_type a {
	color: #8a8a8a;
	font-size: 15px;
	text-decoration: none;
}



/* price filter */

    .sc_form_field.sc_form_field_cars_price {
    display: none !important;
}

/* =====================================================
   RESORT DETAILS SECTION
   Converts h3 + ul sections into responsive cards
   Used in ACF field: resort_details
===================================================== */

.resort-details-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:25px;
    margin-top:30px;
}

.resort-detail-card{
    background:#f8f8f8;
    border-radius:14px;
    padding:25px;
}

.resort-detail-card h3{
    margin:0 0 15px;
    font-size:22px;
}

.resort-detail-card ul{
    margin:0;
    padding-left:20px;
}

.resort-detail-card li{
    margin-bottom:8px;
}

@media(max-width:768px){

    .resort-details-grid{
        grid-template-columns:1fr;
    }

}

/* ==========================================
   Hide Compare Icon on Resort Cards Only
   ========================================== */

.sc_cars_item .sc_cars_item_compare {
    display: none !important;
}



/* Bookaday resort views — title meta badge */

/* Bookaday resort views — orange badge, keep original right alignment */
.cars_page_title_meta .bookaday-resort-views,
.cars_page_title_meta .post_meta_views .bookaday-resort-views {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: 999px;
	background: #FF8615;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
	vertical-align: middle;
}

.cars_page_title_meta .bookaday-resort-views .bookaday-view-icon {
	width: 15px;
	height: 15px;
	stroke: #fff;
	flex-shrink: 0;
}

.cars_page_title_meta .bookaday-resort-views .bookaday-view-count {
	color: #fff;
	font-weight: 700;
}

.cars_page_title_meta .post_meta_item.post_meta_views {
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
}