/**
 * Towns Landing Pages - Essential Styles Only
 * Mobile-first responsive design for 500+ town pages
 */

/* Pink Background */
.section-pale-bg { background: #FFF3F8; }

/* Hero Section - Two Column Layout */
.content-section { padding: 60px 0; }
.content-wrapper { padding-right: 20px; padding-left: 30px; }
.content-main-heading {
    font-family: "Cinzel Decorative", serif;
    font-size: 2.5rem;
    color: #1a1a2e;
    line-height: 1.3;
    margin-bottom: 20px;
}
.content-subheading {
    font-family: "Dongle", sans-serif;
    font-size: 1.64rem;
    line-height: 1.96rem;
    margin: 10px 0 20px;
}
.text-paragraph {
    font-family: "Dongle", sans-serif;
    font-size: 1.64rem;
    line-height: 1.96rem;
    margin-bottom: 20px;
    font-weight: 400;
}
.content-image { border-radius: 8px; }
.form-wrapper { padding-left: 20px; }
.form-embed-container { height: 855px; }

/* Why Choose Us Section */
.why-choose-us { background: #f9f9f9; padding: 60px 0; }
.feature-box {
    background: #FFF3F8;
    padding: 40px 30px;
    min-height: 280px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(255, 171, 206, 0.2);
    transition: transform 0.3s;
}
.feature-box:hover { transform: translateY(-5px); }
.feature-icon { margin-bottom: 25px; }
.feature-title {
    font-family: "Cinzel Decorative", serif;
    font-size: 1.5rem;
    color: #1a1a2e;
    margin-bottom: 15px;
}
.feature-desc { color: #555; line-height: 1.6; }

/* Services Section (Derby) */
.services-section { background: #FFABCE26; padding: 60px 0; }
.service-col-title {
    font-family: "Cinzel Decorative", serif;
    font-size: 1.8rem;
    color: #1a1a2e;
    text-align: center;
    margin-bottom: 30px;
}
.service-item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px;
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    margin-bottom: 20px;
    transition: transform 0.3s;
}
.service-item:hover { transform: translateX(5px); }
.service-icon { width: 50px; height: 50px; flex-shrink: 0; }
.service-text { color: #333; line-height: 1.5; }

/* Slider Section (Derby) */
.crown-features-slider { height: 500px; border-radius: 10px; overflow: hidden; }
.crown-slide-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.crown-slide-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255, 171, 206, 0.5) 0%, rgba(255, 184, 217, 0.5) 100%); z-index: 1; }
.crown-slide-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; text-align: center; color: #fff; max-width: 900px; padding: 0 40px; width: 100%; }
.crown-slide-heading { font-family: "Cinzel Decorative", sans-serif; font-size: 3rem; font-weight: 700; margin-bottom: 30px; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); line-height: 1.2; }
.crown-slide-description { font-family: "Dongle", sans-serif; font-size: 1.75rem; line-height: 1.6; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3); }

/* Experience Section (Barby) */
.experience-section { background: #FFF2F8; padding: 40px 0 50px; }
.magical-content-box { max-width: 1400px; }
.content-row-bordered { border: 7px solid #FFF; }
.section-title {
    font-family: "Cinzel Decorative", sans-serif;
    font-size: 30px;
    color: #b10274;
    line-height: 1.3;
    margin-bottom: 20px;
}
.section-text { font-family: "Dongle", sans-serif; font-size: 26px; line-height: 21px; color: #002642; }
.section-subheading-primary { font-family: 'Cinzel Decorative', cursive; font-size: 28px; color: #002642; margin-bottom: 20px; }
.feature-list-interactive { font-family: 'Dongle', sans-serif; font-size: 28px; color: #555; }
.list-icon-check, .list-icon-star { margin-right: 15px; font-size: 1.3rem;}

/* Packages */
.premium-packages .package-grid { display: flex; flex-wrap: wrap; gap: 30px; justify-content: center; }
.package-card { flex: 0 0 600px; max-width: 100%; background: white; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); padding: 20px !important; }
.package-image-background { background: #FFABCE; min-height: 150px; padding: 30px; text-align: center; color: white; }
.packages-section-title { font-family: 'Cinzel Decorative', cursive; font-size: 30px; color: #002642; }
.package-list { list-style: disc; padding-left: 30px; font-family: 'Dongle', sans-serif; font-size: 28px; color: #5c4067; }
.package-book-btn { background: #FFABCE; color: #fff; padding: 9px 23px; font-size: 30px; font-family: 'Dongle'; text-decoration: none; display: inline-block; }
.package-book-btn-container { display: flex; justify-content: center; }

/* Special Moments (Barby) */
.special-moments-section { background: #FFF3F8; padding: 80px 0; }
.special-card { background: #fff; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05); padding: 25px 35px; transition: transform 0.3s; }
.special-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(255, 130, 210, 0.25); }
.special-card h3 { font-family: 'Cinzel Decorative', cursive; font-size: 27px; text-align: center; margin-bottom: 12px; }
.highlights-section-title { font-family: 'Cinzel Decorative', cursive; font-size: 32px; text-align: center; color: #b10274; }

/* Royal Experience (Derby) */
.royal-experience-section { background: #fff; padding: 60px 0; }
.royal-exp-title { font-family: "Cinzel Decorative", serif; font-size: 2.8rem; color: #1a1a2e; margin-bottom: 3rem; }
.royal-exp-subtitle { font-family: "Cinzel Decorative", serif; font-size: 2rem; color: #1a1a2e; margin-bottom: 0.5rem; }
.royal-exp-meta { font-family: "Dongle", sans-serif; font-size: 1.8rem; }
.royal-exp-list { list-style: none; padding: 0; }
.royal-exp-list li { padding-left: 20px; position: relative; margin-bottom: 0.5rem; font-family: 'Dongle', sans-serif; font-size: 1.5rem; }
.royal-exp-list li::before { content: "•"; position: absolute; left: 0; color: #999; }

/* Royal Characters */
.royal-char-heading { font-family: "Cinzel Decorative", serif; font-size: 2rem; color: #1a1a2e; }
.royal-char-subheading { font-family: "Dongle", sans-serif; font-size: 2.1rem; color: #1a1a2e; }
.royal-char-card { border: 1px solid rgba(255, 200, 220, 0.4); box-shadow: 0 8px 10px rgba(255, 150, 190, 0.25); transition: transform 0.3s; }
.royal-char-card:hover { transform: translateY(-4px) scale(1.04); }
.royal-char-caption { font-size: 1.7rem; padding: 14px 0; color: #a74b78; border-top: 1px solid rgba(255, 210, 230, 0.4); text-align: center; }

/* Service Areas */
.service-areas__title { font-family: "Cinzel Decorative", serif; font-size: 2.5rem; color: #1a1a2e; margin-bottom: 0.5rem; }
.service-areas__description { font-family: "Dongle", sans-serif; font-size: 1.8rem; color: #555; max-width: 900px; margin: 1rem auto 2rem; line-height: 1.5; }
.service-areas__card { background: #FFABCE26; border-radius: 4px; padding: 15px 20px; margin-bottom: 20px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); display: flex; align-items: center; justify-content: center; gap: 10px; transition: transform 0.3s; }
.service-areas__card:hover { transform: translateY(-5px); }
.service-areas__card i { font-size: 1.2rem; color: #FFABCE; }
.service-areas__name { font-family: "Dongle", sans-serif; font-size: 1.8rem; color: #333; }

/* Contact Section */
.royal-contact-section { background: #fff; padding: 60px 0; }
.royal-cta-heading { font-family: "Cinzel Decorative", sans-serif; font-size: 2.5rem; color: #1a1a2e; text-align: center; margin-bottom: 20px; }
.royal-cta-subtext { font-family: "Dongle", sans-serif; font-size: 1.8rem; text-align: center; margin: 40px 0; font-weight: 400;}
.royal-contact-heading { font-family: "Cinzel Decorative", sans-serif; font-size: 2.2rem; color: #1a1a2e; text-align: center; margin: 10px 0 40px; }
.royal-contact-box { background: #FFF0F5; padding: 40px 20px; text-align: center; transition: transform 0.3s; }
.royal-contact-box:hover { transform: translateY(-5px); }
.royal-contact-icon { font-size: 40px; color: #FFABCE; }
.royal-contact-title { font-family: "Dongle", sans-serif; font-size: 24px; color: #333; margin: 10px 0; }
.royal-contact-title a { font-family: "Cinzel Decorative", sans-serif; font-size: 1.2rem; color: #333; text-decoration: none; }
.royal-contact-title a:hover { color: #FFABCE; }

/* Partnerships */
.partnerships-section { padding: 60px 0; }
.partnership-service-heading, .partnership-corporate-heading { font-family: "Cinzel Decorative", sans-serif; font-size: 2.1rem; color: #333; margin-bottom: 2rem; }

/* Mobile Responsive */
@media (max-width: 991px) {
    .content-wrapper, .form-wrapper { padding: 0; margin-bottom: 30px; }
    .content-main-heading { font-size: 2rem; text-align: center; }
    .content-subheading, .text-paragraph { font-size: 1.4rem; line-height: 1.7rem; }
    .package-card { flex: 0 0 48%; }
}

@media (max-width: 768px) {
    .content-section { padding: 30px 0; }
    .content-main-heading { font-size: 1.75rem; }
    .feature-box { min-height: auto; padding: 30px 20px; }
    .feature-title { font-size: 1.3rem; }
    .service-item { flex-direction: column; text-align: center; padding: 15px; }
    .service-areas__title { font-size: 2.2rem; }
    .service-areas__description { font-size: 1.5rem; }
    .service-areas__card { padding: 15px 20px; justify-content: flex-start; }
    .crown-slide-heading { font-size: 2rem; }
    .crown-slide-description { font-size: 1.5rem; }
    .package-card { flex: 0 0 100%; }
    .royal-cta-heading { font-size: 1.8rem; }
    .special-card h3 { font-size: 23px; }
    .highlights-section-title { font-size: 23px; }
    .royal-char-card { padding: 0 43px; }
}
