.header-logo img {
    max-height: 70px;
}

.catagory-product-card {
    border-radius: 0;
}

.catagory-product-image img {
    max-width: 100%;
    width: 100%;
}

.catagory-product-card .catagory-product-content {
    margin-top: 20px;
}

.catagory-product-card:hover *{
    color: #FFFFFF!important;
}

/* Camper specs styling */
.camper-specs {
    margin-top: 30px;
}

.camper-specs .spec-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.camper-specs .spec-item i {
    font-size: 18px;
    color: #fff;
}

.camper-specs .spec-item small {
    font-size: 16px;
    line-height: 23px;
    color: #fff;
    font-weight: 500;
}

/* Home blocchi aspect ratio 4:3 */
.section-blocchi-home .aspect-ratio-4-3 {
    aspect-ratio: 4 / 3;
    width: 100%;
}


.section-blocchi-home {
    padding-top: 60px;
    padding-bottom: 40px;
}

.single-offer-items.style-3{
    border-radius: 0;
}

.section-blocchi-home .col-xl-3 {
    margin-bottom: 20px;
}

.cta-delivery-section.bg-cover {
    background-position: center bottom;
}

.cta-delivery-section * {
    color: #ffffff!important;
}

.catagory-product-card * {
    transition: none!important;
}

.offer-section .offer-content:hover {
    background-color: rgba(0,0,0,0.8);
}

.link-btn:hover {
    color: var(--white);
}

.video-banner {
    position: relative;
}

.video-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
}

.video-banner img {
    max-width: 100%;
}

.play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background-color: rgba(0,0,0,0.8);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.play-btn i {
    color: var(--white);
}

#zony-editor .row + .row {
    margin-top: 30px;
}

#zony-editor .gallery-section {
    padding-top: 30px;
    padding-bottom: 30px;
}

#zony-editor .swiper-pointer-events {
    padding-bottom: 30px;
}

/* Rental Detail UI rewrite */
.rental-detail .rd-title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: .5rem;
}
.rental-detail .rd-content {
  padding-top: .25rem;
}
.rental-detail .rd-chips {
  margin: .5rem 0 1rem;
}
.rental-detail .rd-chip {
  background: #f5f7fa;
  border: 1px solid #e6eaef;
  border-radius: 999px;
  padding: .25rem .6rem;
  font-size: .9rem;
  color: #2a3139;
  margin-bottom: 10px
}
.rental-detail .rd-chip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-right: .35rem;
  color: #ff7a00;
}
.rental-detail .rd-subtitle {
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: .5rem;
}
.rental-detail .rd-feature-item {
  border: 1px dashed #dfe5ec;
  border-radius: 10px;
  padding: .6rem .8rem;
  font-size: .95rem;
  background: #fff;
}
.rental-detail .rd-more-link {
  display: inline-block;
  margin-top: .5rem;
  color: #ff7a00;
}
.rental-detail .rd-booking-card {
  border: 1px solid #e6eaef;
  border-radius: 12px;
  padding: 1rem;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(18, 38, 63, 0.06);
}
.rental-detail .rd-availability {
  font-size: .95rem;
  margin-bottom: .75rem;
}
.rental-detail .rd-availability-status {
  font-weight: 600;
}
.rental-detail .rd-cta {
  width: 100%;
}
.description-list-items .description-list li:not(:last-child){
  margin-bottom: 5px;
}

.description-list-items .description-list li i {
    color: var(--theme);
    margin-right: 10px;
    font-weight: 600;
    width: 40px;
}
.description-list-items .description-list li span {
    color: var(--text);
    font-size: 20px;
    font-weight: 400;
}

/* Sticky form on desktop (right sidebar on camper detail) */
@media (min-width: 992px) {
  .sticky-desktop {
    position: sticky;
    top: 130px;
  }
}
.product-details-wrapper.style-2 .product-form-wrapper {
    border: 0!important;
    padding: 30px;
    box-shadow: 1px 1px 20px #dfdfdf;
}

.custom-border-top {
  border-top: 100px solid #F4F1EA;
}
/* ===== Enroll Modal (Fullscreen) ===== */
.enroll-modal{ position:fixed; inset:0; background:rgba(0,0,0,0.45); z-index:1055; display:none; }
.enroll-modal.show{ display:block; }
.modal-open{ overflow:hidden; }
.enroll-dialog{ position:fixed; left:0; top:0; bottom:0; width:70vw; max-width: 1024px; background:#fff; display:flex; flex-direction:column; height:100vh; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,0.25); }
.enroll-header{ background:#fff; color:#1b1b1b; padding:14px 0; }
.enroll-header .h5{ font-weight:600;  font-size: 28px; text-transform: uppercase;}
.enroll-close{ background:transparent; border:0; color:#1b1b1b; font-size:40px; line-height:1; cursor:pointer; }
.enroll-body{ flex:1; overflow:hidden; }
.enroll-content{ display:flex; gap:24px; padding:24px 0; }
.enroll-left{ flex:0 0 38%; background:#fff; color:#1b1b1b; border-radius:12px; padding:24px; }
.enroll-right{ flex:1; border-radius:12px; background:#fff; padding:24px; }

.enroll-left .course-title{ font-size:22px; font-weight:700; margin-bottom:12px; }
.enroll-left .course-meta{ list-style:none; padding:0; margin:0 0 16px; }
.enroll-left .course-meta li{ display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.enroll-left .course-agenda .agenda-title{ font-weight:600; margin-bottom:6px; }
.enroll-left .agenda-list .agenda-item{ display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px dashed rgba(0,0,0,0.08); }

.stepper{ display:flex; flex-direction:column; gap:16px; }
.stepper-header{ display:grid; gap:8px; }
.stepper-header[data-count="3"]{ grid-template-columns: repeat(3, 1fr); }
.stepper-header[data-count="4"]{ grid-template-columns: repeat(4, 1fr); }
.stepper-header .step-label{ background:#fff; border:1px solid #e5e5e5; padding:10px 20px; font-size:14px; color:#666; text-align:center; }
.stepper-header .step-label.active{ border-color:#294a98; color:#294a98; font-weight:600; }
.stepper-header .step-label.done{ border-color:#9ad17b; color:#2e7d32; }
.stepper-body .step{ display:none; }
.step-actions{ margin-top:16px; display:flex; gap:8px; }
.summary .summary-row{ display:flex; align-items:center; justify-content:space-between; padding:8px 0; border-bottom:1px solid #e9e9e9; }
.payment-methods .list-group-item{ background:#fff; border:1px solid #e5e5e5; border-radius:8px; margin-bottom:8px; padding:10px; }

/* UI: modernizza form nella modale di iscrizione */
.enroll-dialog .h6{ font-size:16px; font-weight:600; color:#294a98; margin-bottom:10px; }
.enroll-dialog .form-label{ font-size:13px; color:#333; margin-bottom:6px; }
.enroll-dialog .form-control{ border:1px solid #ddd; border-radius:0px; padding:10px 15px; height:42px; box-shadow:none; transition:border-color .15s ease, box-shadow .15s ease; }
.enroll-dialog .form-control:focus{ border-color:#294a98; box-shadow:0 0 0 3px rgba(41,74,152,0.12); }
.enroll-dialog .form-check-input{ border-radius:4px; }
.enroll-dialog .list-group-item{ border:1px solid #eee; border-radius:10px; margin-bottom:8px; padding:10px 12px; }
.enroll-dialog .btn:not(.toggle-password-btn){ border-radius:999px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; padding:16px 36px; box-shadow:0 4px 10px rgba(0,0,0,0.08); border-width:2px; }
.enroll-dialog .btn.btn-sm{ padding:10px 40px; font-size:14px; }
.enroll-dialog .btn.btn-lg{ padding:20px 50px; font-size:16px; }
.enroll-dialog .btn-primary{ background:#294a98; border-color:#294a98; color:#fff; }
.enroll-dialog .btn-primary:hover{ background:#1f3a7a; border-color:#1f3a7a; color:#fff; }
/* Giallo brand per azioni secondarie nel modal */
.enroll-dialog .btn-secondary{ background:#ffc107; border-color:#ffc107; color:#294a98; }
.enroll-dialog .btn-secondary:hover{ background:#e0a800; border-color:#e0a800; color:#294a98; }
/* Outline blu coerente con UI */
.enroll-dialog .btn-outline-secondary{ border-color:#294a98; color:#294a98; }
.enroll-dialog .btn-outline-secondary:hover{ background:#294a98; color:#fff; border-color:#294a98; }
/* Conferma pagamento in giallo brand */
.enroll-dialog .btn-success{ background:#ffc107; border-color:#ffc107; color:#294a98; }
.enroll-dialog .btn-success:hover{ background:#e0a800; border-color:#e0a800; color:#294a98; }

/* Card radio per figli */
.enroll-dialog .child-card{ border:1px solid #e5e5e5; border-radius:12px; padding:12px; display:flex; align-items:center; gap:10px; cursor:pointer; transition:border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.enroll-dialog .child-card.selected{ border-color:#294a98; box-shadow:0 0 0 3px rgba(41,74,152,0.12); background:#fafbff; }

/* Auth switch (Accedi / Registrati) */
.enroll-dialog .auth-switch{ display:flex; gap:6px; background:#f5f7fc; border:1px solid #e9edf8; border-radius:8px; padding:4px; }
.enroll-dialog .auth-switch .auth-tab{ flex:1; background:transparent; border:0; padding:8px 10px; border-radius:0; font-weight:600; color:#294a98; cursor:pointer; transition:background .15s ease, box-shadow .15s ease; }
.enroll-dialog .auth-switch .auth-tab.active{ background:#fff; box-shadow:0 2px 10px rgba(0,0,0,0.06); }

/* Auth card styles */
.enroll-dialog .auth-card{ border:1px solid #eee; background:#fff; padding:16px; }
.enroll-dialog .auth-card .form-control{ height:44px; }
.enroll-dialog .auth-card .form-hint{ color:#6c757d; font-size:12px; }
/* Pulsanti Accedi/Registrati più squadrati */
.enroll-dialog .auth-card .btn{ border-radius:0; }

/* Banner genitore autenticato */
.enroll-dialog .logged-banner{ display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #e5e5e5; border-radius:12px; background:#f5f7fc; padding:12px 14px; box-shadow:0 4px 16px rgba(0,0,0,0.06); }
.enroll-dialog .logged-info{ display:flex; align-items:center; gap:10px; color:#1b1b1b; }
.enroll-dialog .logged-info .title{ font-weight:600; color:#294a98; }
.enroll-dialog .logged-info .subtitle{ font-size:13px; color:#666; }
.enroll-dialog .logged-info i{ color:#294a98; font-size:18px; }

@media (max-width: 991.98px){
  .enroll-dialog{ left:0; top:0; bottom:0; width:100vw; box-shadow:none; }
  .enroll-content{ flex-direction:column; }
  .enroll-right{ width:100%; }
  .stepper-header{ grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 992px){
  .enroll-dialog{ overflow-y: auto; }
  .enroll-body{ overflow-y: auto; }
}

/* Noleggio dettaglio: overlay galleria (thumb e media) */
.rental-detail .product-image { position: relative; }
.rental-detail .thumb-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
}
.rental-detail .media-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.rental-detail .media-overlay .overlay-btn {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(0,0,0,0.55);
  color: #fff;
  text-decoration: none;
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  transition: background 0.2s ease, transform 0.2s ease;
}
.rental-detail .media-overlay .overlay-btn:hover {
  background: rgba(0,0,0,0.7);
  transform: translateY(-1px);
}
.rental-detail .media-overlay .overlay-btn i {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  font-size: 14px;
}
.rental-detail .media-overlay .overlay-btn--video i { background: #ff4d4f; }
.rental-detail .media-overlay .overlay-btn--vtour i { background: #2f54eb; }

/* Modals for video and virtual tour */
.rental-detail .rd-modal { display: none; }
.rental-detail .rd-modal.is-open { display: block; }

/* Video modal (centered popup) */
.rental-detail .rd-modal--video { position: fixed; inset: 0; z-index: 1000; }
.rental-detail .rd-modal--video .rd-modal__backdrop {
  position: absolute; inset: 0; background: rgba(0,0,0,0.65);
}
.rental-detail .rd-modal--video .rd-modal__dialog {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: min(960px, 90vw);
  background: #000; border-radius: 10px; overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}
.rental-detail .rd-modal--video .rd-modal__close {
  position: absolute; top: 8px; right: 10px; z-index: 2;
  background: rgba(255,255,255,0.15); color: #fff; border: 0; width: 36px; height: 36px;
  border-radius: 6px; font-size: 22px; line-height: 1; cursor: pointer;
}
.rental-detail .rd-modal--video .rd-modal__body { background: #000; }
.rental-detail .rd-responsive-iframe { position: relative; padding-bottom: 56.25%; height: 0; }
.rental-detail .rd-responsive-iframe iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* Virtual tour modal (fullscreen, padding 50px, only X) */
.rental-detail .rd-modal--vtour {
  position: fixed; inset: 0; z-index: 1000; padding: 50px; background: rgba(0,0,0,0.9);
}
.rental-detail .rd-modal--vtour .rd-modal__body { width: 100%; height: 100%; }
.rental-detail .rd-modal--vtour iframe { width: 100%; height: 100%; background: #111; border-radius: 8px; }
.rental-detail .rd-modal__close--vtour {
  position: fixed; top: 12px; right: 16px; z-index: 1001;
  background: rgba(255,255,255,0.15); color: #fff; border: 0; width: 40px; height: 40px;
  border-radius: 6px; font-size: 26px; line-height: 1; cursor: pointer;
}

.catagory-product-content .theme-btn-2 {
  background-color: #294a98;
  border: 2px solid #fff;
}
.catagory-product-content .theme-btn-2:hover {
  background-color: #ffc107;
  border-color: #ffc107;
  color: #294a98;
}
.catagory-product-content .theme-btn-2:hover i,
.catagory-product-content .theme-btn-2:hover .button-text {
  color: #294a98;
}.catagory-product-content .theme-btn-2:hover::before {
  background-color: #ffc107;
}
/* Parent Area */
.parent-layout{display:grid;grid-template-columns:260px 1fr;gap:24px}
@media(max-width:991.98px){.parent-layout{grid-template-columns:1fr}}
.parent-sidebar{position:sticky;top:120px}
@media(max-width:991.98px){.parent-sidebar{position:static;top:auto}}
.parent-menu{display:flex;flex-direction:column;gap:8px}
.parent-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;color:#fff;text-decoration:none;border-left:3px solid transparent;border-radius:8px}
.parent-menu a:hover{background:rgba(255,255,255,0.08)}
.parent-menu a.active{background:rgba(255,255,255,0.12);border-left-color:#ffc107}
.parent-menu button{display:flex;align-items:center;gap:10px;padding:10px 12px;color:#fff;background:transparent;border:0;text-decoration:none;border-left:3px solid transparent;border-radius:8px;width:100%;text-align:left}
.parent-menu button:hover{background:rgba(255,255,255,0.08)}
.parent-card{background:#fff;color:#1b1b1b;border-radius:12px;padding:20px;box-shadow:0 6px 18px rgba(18,38,63,0.12)}
.section-blu .section-title span,.section-blu .section-title h2{color:#fff!important}
.order-card{background:#fff;border-radius:12px;padding:16px;border-left:4px solid #ffc107;box-shadow:0 4px 12px rgba(0,0,0,0.06)}
.order-card .order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.order-card .order-title{font-weight:700;color:#294a98}
.order-card .order-meta{color:#6c757d}
.order-card .order-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.order-card .status{padding:6px 10px;border-radius:999px;font-weight:600}
.status--paid{background:#e7f5e5;color:#2e7d32}
.status--pending{background:#fff3cd;color:#7a5b00}
.status--cancelled{background:#f8d7da;color:#7a1e2e}
.access-area .access-form .form-label{color:#fff}
.access-area .access-form .form-control{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.35);color:#fff;border-radius:0px;padding: 10px 20px;}
.password-field{position:relative}
.password-field .form-control{padding-right:44px}
.toggle-password-btn{position:absolute;right:20px;top:47%;transform:translateY(-50%);background:transparent;border:0;color:inherit;cursor:pointer}
.section-blu .toggle-password-btn{color:#fff}
.password-field.input-group .form-control{padding-right:0}
.password-field.input-group .toggle-password-btn{position:static;transform:none;margin-left:6px}
.access-area .auth-switch{display:flex;gap:6px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.35);border-radius:8px;padding:4px}
.access-area .auth-switch .auth-tab{flex:1;background:transparent;border:0;padding:8px 10px;border-radius:6px;font-weight:600;color:#fff;cursor:pointer}
.access-area .auth-switch .auth-tab.active{background:#fff;color:#294a98;box-shadow:0 2px 10px rgba(0,0,0,0.06)}
.password-criteria{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.password-criteria .criterion{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 8px;border:0px solid rgba(0,0,0,0.15);border-radius:0px;color:#294a98;background:#fff}
.section-blu .password-criteria .criterion{color:#fff;background:transparent}
.alert-danger {
  --bs-alert-border-color: #a53d47;
  --bs-alert-bg: #a53d47;
  color: #fff;
}
.password-criteria .criterion.ok i{color:#2e7d32}
.password-criteria .criterion.bad i{color:#a53d47}
.access-area .access-form .form-control::placeholder{color:rgba(255,255,255,0.8)}
.access-area .access-form .theme-btn{background:#ffc107;border-color:#ffc107;color:#294a98}
/* Modal recupero password in Area Genitore */
.access-area .modal-content{background-color:#294a98;color:#fff;border:none;border-radius:12px}
.access-area .modal-title{color:#fff}
.access-area .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}
.access-area .modal-content .form-label{color:#fff}
.access-area .modal-content .form-control{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.35);color:#fff;border-radius:0px;padding:10px 20px}
.access-area .modal-content .form-control::placeholder{color:rgba(255,255,255,0.8)}
.access-area .modal-content .toggle-password-btn{color:#fff}
.access-area .modal-content .password-criteria .criterion{color:#fff;background:transparent}
/* Parent Home info cards */
.parent-info-card{background:#ffc107;color:#294a98;padding:40px 0;}
.parent-info-card *{color:#294a98!important}
.parent-info-card .parent-info-icon i{font-size:45px;line-height:1}
.parent-info-card h4{font-size:14px;line-height:1.2;margin-top:10px}
/* Go-all: Benefici (Movimento, Divertimento, Apprendimento) */
.benefits-section .benefit-icon i {
  font-size: 45px;
  line-height: 1;
  color: #294a98;
}

.benefits-section h4 {
  font-size: 45px;
  line-height: 1.1;
  color: #294a98;
}

/* Optional: ensure spacing keeps visual balance at larger sizes */
.benefits-section .single-benefit .benefit-icon {
  margin-bottom: 16px;
}


/* Go-all: About preview video thumb */
.about-preview .video-thumb {
  position: relative;
}
.about-preview .video-thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1; /* tra foto e icona play */
  pointer-events: none;
}
.about-preview .video-thumb img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 250ms ease-in-out;
}
.about-preview .video-thumb .play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #ffffff;
  font-size: 72px;
  line-height: 1;
  text-shadow: 0 4px 16px rgba(0,0,0,0.25);
  z-index: 2; /* sopra il velo scuro */
}
.about-preview .video-thumb:hover img {
  transform: scale(1.02);
}

.benefits-section {
  padding: 50px 0;
}

.btn-auto {
  width: auto;
}

.fs-22 {
  font-size: 22px;
}

.section-blu {
  background-color: #294a98;
}

.section-blu * {
  color: #fff;
}
.section-blu .theme-btn,
.section-blu .theme-btn-2,
.section-blu .btn {
  background-color: #FFC107 !important;
  border-color: #FFC107 !important;
  color: #294a98 !important;
  border: 2px solid #FFC107;
}

.section-blu .theme-btn .button-text,
.section-blu .theme-btn-2 .button-text {
  color: #294a98 !important;
}

.section-blu .theme-btn .button-icon i,
.section-blu .theme-btn-2 .button-icon i,
.section-blu .theme-btn-2 i {
  color: #294a98 !important;
}

.section-blu .theme-btn-2:hover {
  background-color: #294a98!important;
  border: 2px solid white;
  color: white!important;
}

/* Chi Siamo: forza testo bianco nelle liste su sfondo blu */
.section-blu .blog-wrapper .single-blog-post .post-content ul,
.section-blu .blog-wrapper .single-blog-post .post-content ul li {
  color: #ffffff !important;
}

.section-blu .theme-btn-2:hover i {
  color: white!important;
}

.section-blu .theme-btn-2:hover::before {
  background-color: #294a98;
}

.btn-lg {
  padding: 20px 40px;
  font-size: 20px;
}

/* Social grid items (Bootstrap-based layout) */
.social-item {
  position: relative;
}
.social-item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}
.social-caption {
  margin-top: 8px;
  font-size: 0.95rem;
  color: #294a98;
}
.social-link { display: block; position: relative; }
.social-item .play-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.social-item .play-overlay i {
  font-size: 42px;
  color: #fff;
}
.social-link::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
  border-radius: 12px;
}
.social-link:hover::after { opacity: 1; }

.section-50 {
  padding: 50px 0;
}

/* Footer overrides: background #294a98, all texts and links white */
.footer-section {
  background-color: #294a98;
}
.footer-section,
.footer-section p,
.footer-section h1,
.footer-section h2,
.footer-section h3,
.footer-section h4,
.footer-section h5,
.footer-section h6,
.footer-section a,
.footer-section span,
.footer-section li,
.footer-section .text-effect {
  color: #ffffff !important;
}
/* Ensure list links remain white on hover */
.footer-widgets-wrapper .single-footer-widget .list-items li a:hover .text-effect {
  color: #ffffff !important;
}
/* Address and contact text to white */
.footer-widgets-wrapper .single-footer-widget .footer-address-text h6,
.footer-widgets-wrapper .single-footer-widget .footer-address-text h6 span,
.footer-widgets-wrapper .single-footer-widget .footer-address-text h5 {
  color: #ffffff !important;
}
/* Social icons as white outline buttons */
.footer-widgets-wrapper .single-footer-widget .footer-content .social-icon a {
  background-color: transparent !important;
  border: 1px solid #ffffff !important;
  color: #ffffff !important;
}
.footer-widgets-wrapper .single-footer-widget .footer-content .social-icon a:hover {
  background-color: rgba(255,255,255,0.15) !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}
/* Bottom bar background and text */
.footer-bottom {
  background-color: #294a98 !important;
}
.footer-bottom .footer-bottom-wrapper p,
.footer-bottom .footer-bottom-wrapper a {
  color: #ffffff !important;
}

/* Scroll-up: adaptive contrast against background using blend mode */
.scroll-up {
  mix-blend-mode: difference;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.6) !important;
}
.scroll-up::after {
  color: #ffffff !important;
}
.scroll-up svg path,
.scroll-up svg.scroll-circle path {
  stroke: #ffffff !important;
}

/* CTA Ricerca Corsi - Sezione Gialla */
.search-cta-section {
  background-color: #ffc107;
  padding: 60px 0;
}
.search-cta-section .section-title h2 {
  color: #294a98;
}
.search-cta-form .form-control {
  background-color: #ffffff;
  border-color: rgba(0,0,0,0.2);
  border-radius: 0 !important;
  min-height: 56px;
}
.search-cta-form .btn.btn-primary {
  background-color: #294a98;
  border-color: #294a98;
  color: #ffffff;
  border-radius: 0 !important;
  min-height: 56px;
  min-width: 180px;
  padding: 0 28px;
  flex: 0 0 auto;
}
.search-cta-form .btn.btn-primary:hover {
  filter: brightness(0.9);
}

/* Menu hover + active color overrides */
/* Desktop menu */
.header-main .main-menu ul li a:hover,
.header-main .main-menu ul li:hover > a {
  color: #ffc107 !important;
}

/* Active link: colored and underlined (persistent) */
.header-main .main-menu ul li.active > a,
.header-main .main-menu ul li a.active {
  color: #ffc107 !important;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
}

/* Mobile (meanmenu) */
.mean-container .mean-nav ul li a:hover {
  color: #ffc107 !important;
}
.mean-container .mean-nav ul li.active > a,
.mean-container .mean-nav ul li a.active {
  color: #ffc107 !important;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
}

/* Page Header Breadcrumb (internal pages) */
.breadcrumb-wrapper {
  background-color: #ffc107;
}
.breadcrumb-wrapper .page-heading h1 {
  color: #294a98 !important;
  text-shadow: none;
}
.breadcrumb-wrapper .page-heading .breadcrumb-items li,
.breadcrumb-wrapper .page-heading .breadcrumb-items li a,
.breadcrumb-wrapper .page-heading .breadcrumb-items li i {
  color: #294a98 !important;
  text-shadow: none;
}
/* Utilities */
.text-goall-blue {
  color: #294a98 !important;
}

/* Detail page panels: yellow/blue backgrounds matching homepage */
.detail-panel {
  padding: 50px 25px;
}
.section-yellow {
  background-color: #ffc107;
}
.section-yellow * {
  color: #294a98 !important;
}
.section-yellow .theme-btn,
.section-yellow .theme-btn-2,
.section-yellow .btn {
  background-color: #294a98 !important;
  border-color: #294a98 !important;
  color: #ffffff !important;
  border: 2px solid #294a98;
}
.section-yellow .theme-btn .button-text,
.section-yellow .theme-btn-2 .button-text {
  color: #ffffff !important;
}
.section-yellow .theme-btn .button-icon i,
.section-yellow .theme-btn-2 .button-icon i,
.section-yellow .theme-btn-2 i {
  color: #ffffff !important;
}
.section-yellow .theme-btn-2:hover,
.section-yellow .theme-btn:hover,
.section-yellow .btn:hover {
  background-color: #ffc107 !important;
  border-color: #ffc107 !important;
  color: #294a98 !important;
}
.section-yellow .theme-btn-2:hover i,
.section-yellow .theme-btn:hover i,
.section-yellow .btn:hover i,
.section-yellow .theme-btn-2:hover .button-text,
.section-yellow .theme-btn:hover .button-text {
  color: #294a98 !important;
}
.section-blu .detail-panel-title,
.section-yellow .detail-panel-title {
  margin-bottom: 12px;
}

/* Stylized agenda on blue panel */
.agenda-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.agenda-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #ffffff;
  border-radius: 12px;
  padding: 12px 16px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.06);
  border-left: 4px solid #ffc107;
}
.agenda-item .agenda-date {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1rem;
}
.agenda-item .agenda-date strong {
  font-weight: 700;
}
.agenda-item .agenda-time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #294a98;
  color: #ffffff;
  border-radius: 999px;
  padding: 6px 12px;
  font-weight: 600;
}
.section-blu .agenda-item, .section-blu .agenda-item * {
  color: #294a98 !important;
}
.section-blu .agenda-item i {
  color: #ffffff !important;
}
.section-blu .agenda-item .agenda-time {
  color: #ffffff !important;
}

/* Split background for detail section: left yellow, right blue */
.detail-split-bg {
  /* Allinea lo split alle colonne Bootstrap: 5/12 (41.6667%) e 7/12 (58.3333%) */
  background: linear-gradient(to right, #294a98 0%, #294a98 80%, #ffc107 80%, #ffc107 100%);
  position: relative; /* per ancorare elementi assoluti al fondo della sezione */
}
@media (max-width: 991.98px) {
  /* Su mobile le colonne si impilano: evita split orizzontale */
  .detail-split-bg { background: #294a98; }
}
.detail-split-bg .left-col * {
  color: #294a98 !important;
}
.detail-split-bg .right-col * {
  color: #ffffff !important;
}
/* Ensure agenda items remain blue text on white cards within right side */
.detail-split-bg .right-col .agenda-item,
.detail-split-bg .right-col .agenda-item * {
  color: #294a98 !important;
}
.detail-split-bg .right-col .agenda-item .agenda-time {
  background: #294a98;
  color: #ffffff !important;
}

/* Sticky enroll bar at bottom */
.sticky-enroll-bar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 1030;
  background: #ffffff;
  color: #000000;
  border-top: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 -4px 16px rgba(0,0,0,0.06);
  padding: 12px 0;
  transition: transform 180ms ease-out, opacity 180ms ease-out;
  will-change: transform, opacity;
}
.sticky-enroll-bar .bar-title {
  font-weight: 700;
  margin-right: 10px;
}
.sticky-enroll-bar .bar-meta {
  color: #000000;
  opacity: 0.85;
}
.sticky-enroll-bar .bar-btn {
  display: inline-block;
  padding: 10px 18px;
  border-radius: 999px;
  background: #ffc107;
  color: #000000;
  font-weight: 700;
  border: 2px solid #ffc107;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}
.sticky-enroll-bar .bar-btn:hover {
  filter: brightness(0.97);
}
/* When footer appears, keep bar within the courses section */
.detail-split-bg .sticky-enroll-bar.at-footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1; /* sotto il contenuto standard */
  padding: 20px 0; /* più spazio quando è ancorata alla sezione */
}
@media (max-width: 991.98px) {
  .sticky-enroll-bar { padding: 14px 0; }
  .sticky-enroll-bar .bar-title { display: block; margin-right: 0; }
  .sticky-enroll-bar .bar-meta { display: block; margin-top: 4px; }
  .detail-split-bg .sticky-enroll-bar.at-footer { padding: 24px 0; }
}
/* Safe-area support for iOS notch */
@supports (padding: env(safe-area-inset-bottom)) {
  .sticky-enroll-bar { padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
}

/* Prevent content overlap on detail section */
.detail-split-bg { padding-bottom: 110px; }
/* Force white text for any detail panel marked as text-white */
.detail-panel.text-white,
.detail-panel.text-white *,
.detail-panel.text-white a,
.detail-panel.text-white i {
  color: #ffffff !important;
}

.detail-split-bg .section-yellow, .detail-split-bg .section-blu{
  background-color: unset;
}
/* Dedicated style for discount validation button in enroll modal */
.discount-inline-group .discount-validate-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0.25rem 0.6rem;
  font-size:0.875rem;
  line-height:1.2;
  font-weight:600;
  color:#fff;
  background-color:#1369af; /* Go-all blue */
  border:1px solid #1369af;
  border-radius:0; /* no radius */
  cursor:pointer;
  transition:background-color .2s ease, border-color .2s ease, opacity .2s ease;
}
.discount-inline-group .discount-validate-btn:hover{
  background-color:#115fa1;
  border-color:#115fa1;
}
.discount-inline-group .discount-validate-btn:active{
  background-color:#0e5391;
  border-color:#0e5391;
}
.discount-inline-group .discount-validate-btn:disabled{
  opacity:.6;
  cursor:not-allowed;
}
/* Align nicely within input-group */
.input-group.input-group-sm .discount-validate-btn{
  border-top-left-radius:0;
  border-bottom-left-radius:0;
  margin-left:0;
}
.catagory-product-card-2 h3 {
  font-size: 30px;
}

@media screen and (min-width: 1200px) {
  .catagory-product-card-2 h3 {
    min-height: 120px;
  }
  .catagory-product-card-2.is-course h3 {
    min-height: 150px;
  }
}

.catagory-product-card-2 .table-goall {
  width: 90%;
}
.catagory-product-card-2 .table-goall td {
    border-top: 1px solid #ffffff !important;
    color: #ffffff;
    padding: .25rem .5rem;
    background-color: #294a98;
}
.catagory-product-card-2 .table-goall tr:first-child td {
  border-top: 0;
}
.catagory-product-card-2 .table-goall .spec-icon {
    width: 20%;
    text-align: left;
}
.catagory-product-card-2 .table-goall .spec-text {
  text-align: right;
}
.catagory-product-card-2 .table-goall tbody tr {
  background-color: #294a98;
}
.catagory-product-card-2 .table-goall tbody tr:hover {
  background-color: #1f3f85;
}
/* Parent children table colors consistent with course card table */
.parent-content .table-goall thead th {
  background-color: #294a98;
  color: #ffffff;
  border-bottom-color: #ffffff;
}
.parent-content .table-goall td {
  border-top: 1px solid #ffffff !important;
  color: #ffffff;
  background-color: #294a98;
}
.parent-content .table-goall tbody tr:hover {
  background-color: #1f3f85;
}
/* Accordion iscrizioni corsi */
.parent-content .enroll-accordion{ display:flex; flex-direction:column; gap:12px; }
.parent-content .enroll-acc-item{ background:#294a98; color:#ffffff; border-radius:12px; padding:12px 16px; box-shadow:none; }
.parent-content .enroll-acc-header{ display:flex; justify-content:space-between; align-items:center; cursor:pointer; }
.parent-content .enroll-acc-title{ font-weight:700; color:#ffffff; }
.parent-content .enroll-acc-meta{ color:rgba(255,255,255,0.85); font-size:14px; }
.parent-content .enroll-acc-body{ display:none; margin-top:10px; }
.parent-content .enroll-acc-item.open .enroll-acc-body{ display:block; }
.parent-content .enroll-acc-list .list-group-item{ display:flex; justify-content:space-between; align-items:center; background:transparent; border-top:1px solid #ffffff; color:#ffffff; }

/* Interni dell'accordion in blu go-all, testo bianco, senza ombre */
.parent-content .enroll-acc-body .card{ background:transparent; border:none; box-shadow:none; color:#ffffff; }
.parent-content .enroll-acc-body .card-body{ background:transparent; color:#ffffff; }

/* Tabelle dentro l'accordion: stile coerente con .table-goall (righe bianche) */
.parent-content .enroll-acc-body .table thead th{ background-color:#294a98; color:#ffffff; border-bottom-color:#ffffff; }
.parent-content .enroll-acc-body .table td{ background-color:#294a98; color:#ffffff; border-top:1px solid #ffffff !important; }

.child-modal{ position:fixed; inset:0; background:rgba(0,0,0,.5); display:none; align-items:center; justify-content:center; z-index:1000; }
.child-modal.show{ display:flex; }
.child-dialog{ background:#294a98; width:100%; max-width:720px; border-radius:6px; overflow:hidden; }
.child-header{ padding:12px 16px; background:#294a98; color:#fff; display:flex; align-items:center; justify-content:space-between; }
.child-body{ padding:16px; max-height:70vh; overflow:auto; color:#fff; }
.child-close{ background:none; border:none; color:#fff; font-size:28px; line-height:1; }
/* Form stile come registrazione (access-form) */
.child-dialog .access-form .form-label{ color:#fff; }
.child-dialog .access-form .form-control{ background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.35); color:#fff; border-radius:0; padding:10px 20px; }
.child-dialog .access-form .form-control::placeholder{ color:rgba(255,255,255,0.8); }


.offcanvas__logo a img {width: auto;}

@media screen and (max-width: 992px) {
  .single-benefit {padding-bottom: 50px;}
  .sm-mt-4 {margin-top: 40px;}
  .section-title {margin-bottom: 50px;}
  .offcanvas__info {width: 90%;}
  .enroll-body {overflow-y: scroll;}
  .testimonial-section-2::after, .testimonial-section-2::before {
    display: none;
  }
  .testimonial-section-2 {
    background-color: #294a98;
  }
  .detail-split-bg {
    padding-bottom: 180px;
  }

  .step-actions {
    display: block;
  }

  .step-actions .btn-success {
    margin-top: 10px;
  }
}

.section-yellow .access-area .access-form .form-control {
  border-color: #1f3f85;
}

.section-blu .parent-card * {
  color: #294a98;
}

/* Alert genitore autenticato: blu Go-All */
.enroll-dialog .alert-parent{ background-color:#294a98; color:#fff; border-color:#294a98; border-radius: 0; }
.enroll-dialog .alert-parent .btn-outline-light{ border-color:#fff; color:#fff; border-radius: 0 }
.enroll-dialog .alert-parent .btn-outline-light:hover{ background-color:#fff; color:#294a98; }
.enroll-dialog .alert-parent .btn i{ font-size:16px; line-height:1; }
@media (max-width: 576px){
  .enroll-dialog .stepper-header .step-text{ display:none; }
  .enroll-dialog .stepper-header .step-label{ display:inline-flex; align-items:center; gap:6px; }
  .enroll-dialog .stepper-header .step-icon{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:#294a98; color:#fff; }
  .enroll-dialog .stepper-header{ display:flex; gap:10px; flex-wrap:wrap; }
}

