/* ============================================================
   ESI Apartments - frontend stili za single-apartment.php
   Barvna paleta povzeta po Ponudba_v10_3.png:
   - temno modra (#1c2b4a) za naslove/akcente
   - bez/zlato (#b08d57) za primarne gumbe
   - svetlo siva ozadja za sekcije
   ============================================================ */

   /* ============================================================
   PISAVE
   ============================================================ */
/* Paths are relative to this stylesheet, i.e. esi-services/assets/fonts/.
   Drop GoogleSansFlex.woff2 in there and the font works on every install —
   local, staging and live — without editing anything. */
@font-face {
   font-family: 'Google Sans Flex';
   src: url('fonts/GoogleSansFlex.woff2') format('woff2'),
        url('fonts/GoogleSansFlex.woff') format('woff');
   font-weight: 100 900; /* variable font, covers the whole range */
   font-style: normal;
   font-display: swap;
}

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap');

.esi-service-page {
   --primary-brand: #BB9B67;
   --primary-brand-light-1: #FAF8F4;
   --primary-brand-light-2: #EDE7DE;
   --primary-brand-light-3: #E4D7C2;
   --secondary-brand: #124D84;
   --esi-gold: #b08d57;
   --esi-gold-dark: #8f7045;
   --esi-bg-soft: #f5f6f8;
   --esi-border: #e3e5e9;
   --esi-font-heading: 'Playfair Display', Georgia, serif;
   --esi-font-body: 'Google Sans Flex', -apple-system, sans-serif;
   color: #2c2c2c;
   --esi-section-padding-y: 80px;
}

@media (max-width: 700px) {
   .esi-service-page {
      --esi-section-padding-y: 40px;
   }
}


/* Scoped to .esi-service-page only — this used to be a blanket h1-h4 rule
   with !important, which meant it also overrode font-family on every OTHER
   heading on any page where frontend.css happens to load (e.g. an Elementor
   heading widget on the transfers archive/page), since !important always
   wins over Elementor's own, more specific selector regardless of specificity.
   Scoping it to the plugin's own wrapper fixes that without losing the
   original intent (headings inside the apartment/experience/transfer
   templates use Playfair Display). */
.esi-service-page h1,
.esi-service-page h2,
.esi-service-page h3,
.esi-service-page h4 {
   font-family: var(--esi-font-heading) !important;
   margin-top: 0;
}




.esi-service-page{
   --esi-navy: #1c2b4a;
   --esi-gold: #b08d57;
   --esi-gold-dark: #8f7045;
   --esi-bg-soft: #f5f6f8;
   --esi-border: #e3e5e9;

   --esi-font-heading: 'Playfair Display', Georgia, serif;
   --esi-font-body: 'Google Sans Flex', -apple-system, sans-serif;

   font-family: var(--esi-font-body);
   color: #2c2c2c;
}

.esi-apt-container {
   max-width: 1280px;
   margin: 0 auto;
}

/* Polno-sirinsko ozadje (cez cel zaslon), vsebina znotraj omejena na 1280px */
.esi-apt-section-fullbleed {
   background: #F9FAFB;
   width: 100%;
}
.esi-apt-section-fullbleed .esi-apt-inner {
   max-width: 1280px;
   margin: 0 auto;
   padding: 32px 0px;
}

/* ===================== HEADER ===================== */
.esi-apt-header {
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   flex-wrap: wrap;
   gap: 10px;
   border-bottom: 1px solid var(--primary-brand);
   padding-bottom: 0.9375rem;

}

.esi-apt-header-main {
   max-width:750px;
}

.esi-apt-stars {
   color: var(--esi-gold);
   font-size: 20px;
   margin-bottom: 6px;
}
.esi-apt-title {
   font-size: 3.5rem;
   margin: 0 0 10px;
   color: var(--esi-navy);
}
.esi-apt-meta-row {
   display: flex;
   flex-wrap: wrap;
   gap: 6px;
   font-size: 1rem;
   color: #555;
}

.esi-apt-meta-row{
   gap: 20px;
}

.esi-apt-meta-row div{
      display: flex;
   align-items: center;
   gap: 5px;
}


.esi-apt-map-link {
   color: var(--secondary-brand);
   font-weight: 600;
}
.esi-apt-header-actions {
   display: flex;
   gap: 10px;
   flex-shrink: 0;
}


.esi-apt-meta-row div {
   font-family: var(--esi-font-body);
}


/* ===================== GUMBI ===================== */
.esi-apt-btn {
   display: inline-block;
   padding: 16px 24px;
   border-radius: 100px;
   

   cursor: pointer;
   transition: all 0.2s;
   white-space: nowrap;
}
button.esi-apt-btn-primary {
   background: var(--primary-brand);
   color: #fff;
      padding: 16px 24px;
      border-radius: 100px;
      border: none;
      line-height: 16px;
      font-weight: 600;
}

.esi-apt-btn-secondary, .esi-apt-show-all-photos, .esi-apt-toggle-description,  .esi-apt-btn-small {
   border: 1px solid var(--primary-brand) !important;
   background-color: transparent;
   border: none;
   border-radius: 100px !important;
   padding: 16px 24px !important;
         line-height: 16px !important;
         color: var(--primary-brand) !important;
           font-weight: 600 !important;

         background-color: white !important;
}


.esi-apt-btn-secondary:hover, .esi-apt-show-all-photos:hover, .esi-apt-toggle-description:hover,  .esi-apt-btn-small:hover {
   background-color: var(--primary-brand) !important;
   color: #fff !important;
  
}


.esi-apt-btn-secondary:active, .esi-apt-show-all-photos:active {
   background-color: var(--primary-brand) !important;
   color: #fff !important;
  
}

.esi-apt-btn-small { padding: 7px 16px; font-size: 13px; }

/* ===================== BADGE BOX (zgornji - trust box) ===================== */
.esi-apt-badge-trust {
   background: #fff;
   border: 1px solid #EDE7DE;
   border-radius: 10px;
   display: flex;
   gap: 18px;
   align-items: center;
}



.esi-apt-badge-icon-wrapper {
   background: #f2e9d8;

   width: 148px;
   height: 135px;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 16px;
}


.esi-apt-badge-content {
 
   padding: 20px 30px;
   flex: 1;
}

.esi-apt-badge-icon img {
   width: 100%;
   height: 100%;
   object-fit: contain;
}
.esi-apt-badge-trust strong {
   display: block;
   font-size: 17px;
   color: var(--esi-navy);
   margin-bottom: 4px;
}




.esi-apt-badge-trust p { margin: 4px 0 0;  font-size: 1.125rem; color: #666; line-height: 1.5; }
.esi-apt-badge-trust strong { margin: 4px 0 0;  font-size: 1.125rem; }


@media (max-width: 700px) {   
   .esi-apt-badge-trust { flex-direction: row; text-align: left; }
   .esi-apt-badge-icon-wrapper { width: 30%; height: auto; padding: 20px 20px; }
   .esi-apt-badge-content { padding: 0px 0px; font-size: 14px; }
   .esi-apt-badge-content p { font-size: 16px; }
   
}

/* ===================== BADGE BOX (spodnji - feature kartice) ===================== */
.esi-apt-badge-features {
   background: #fff;
   border: 1px solid var(--primary-brand-light-2);
   border-radius: 8px;
   padding: 24px 0;
   display: grid;
   grid-template-columns: repeat(3, 1fr);

 
}
.esi-apt-badge-feature {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   gap: 10px;
   padding: 0 24px;
   border-left: 1px solid var(--primary-brand-light-2);
}
.esi-apt-badge-feature:first-child { border-left: none; }
.esi-apt-badge-feature-icon {
   width: 50px;
   height: 50px;
   object-fit: contain;
   background: #f2e9d8;
   border-radius: 10px;

}
.esi-apt-badge-feature span {
   font-size: 16px;
   color: #444;
   line-height: 1.4;
}
@media (max-width: 700px) {
   .esi-apt-badge-features { grid-template-columns: 1fr; gap: 16px; padding: 16px; }
   .esi-apt-badge-feature { border-left: none; border-top: 1px solid var(--esi-border); padding-top: 16px; }
   .esi-apt-badge-feature:first-child { border-top: none; padding-top: 0; }
}

/* ===================== GLAVNI GRID ===================== */
.esi-apt-main-grid {
   display: grid;
   grid-template-columns: 1.4fr 1fr;
   gap: 39px;
   margin-bottom: 40px;
}
@media (max-width: 900px) {
   .esi-apt-main-grid { grid-template-columns: 1fr; }
}

.esi-apt-col-right {
   align-self: start;
   position: sticky;
   top: 20px;
   display: flex;
   flex-direction: column;
   gap: 20px;
}
@media (max-width: 900px) {
   .esi-apt-col-right { position: static; }
}

.esi-apt-col-left {
   display: flex;
   flex-direction: column;
   gap: 40px;
}

/* ===================== GALERIJA ===================== */

.esi-apt-gallery-main-item {
   width: 100%;
   max-width: 522px;
   height: 293px;
   margin-bottom: 20px;
}
.esi-apt-gallery-main-item img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}
.esi-apt-gallery-item {
   display: block;
   width: 100%;
   padding: 0;
   border: none;
   background: none;
   cursor: pointer;
   border-radius: 10px;
   overflow: hidden;
}
.esi-apt-gallery-thumbs {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 20px;
   max-width: 522px;
   margin-bottom: 12px;
}
.esi-apt-gallery-thumbs .esi-apt-gallery-item {
   height: 220px;
}
.esi-apt-gallery-thumbs .esi-apt-gallery-item img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}
.esi-apt-gallery-extra {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 8px;
   max-width: 522px;
   margin-bottom: 12px;
}
.esi-apt-gallery-extra .esi-apt-gallery-item {
   height: 220px;
}
.esi-apt-gallery-extra .esi-apt-gallery-item img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}
@media (max-width: 700px) {
   .esi-apt-gallery-main-item,
   .esi-apt-gallery-thumbs,
   .esi-apt-gallery-extra {
      max-width: 100%;
   }
   .esi-apt-gallery-main-item {
      height: 220px;
   }
}

.esi-apt-gallery-item,
.esi-apt-gallery-item[type="button"] {
   background-color: transparent;
   border: none;
   border-radius: 10px;
   color: inherit;
   display: block;
   font-size: inherit;
   font-weight: inherit;
   padding: 0;
   text-align: left;
   transition: none;
   white-space: normal;
   width: 100%;
   cursor: pointer;
   overflow: hidden;
}


/* ===================== LIGHTBOX ===================== */
.esi-apt-lightbox {
   display: none;
   position: fixed;
   inset: 0;
   z-index: 100000;
   background: rgba(0, 0, 0, 0.9);
}
.esi-apt-lightbox.esi-apt-lightbox-open {
   display: flex;
   align-items: center;
   justify-content: center;
}
.esi-apt-lightbox-image-wrap {
   max-width: 90vw;
   max-height: 85vh;
   display: flex;
   align-items: center;
   justify-content: center;
}
.esi-apt-lightbox-image-wrap img {
   max-width: 90vw;
   max-height: 85vh;
   object-fit: contain;
   border-radius: 6px;
}
/* Appended to <body> by JS, outside .esi-service-page — so the CSS custom
   properties defined there are NOT inherited here. Every var() below needs
   its own fallback, or the navy/gold colors would silently disappear. */
.esi-apt-lightbox-close,
.esi-apt-lightbox-prev,
.esi-apt-lightbox-next {
   position: absolute;
   color: var(--esi-navy, #1c2b4a);
   border: 1px solid var(--primary-brand-light-2, #EDE7DE) !important;
   background: #EDE6DE !important; ;
   font-size: 24px !important;
   line-height: 26px !important;
   color: #2c2c2c !important;
   border-radius: 100px !important;
   cursor: pointer;
   display: flex;

   transition: border-color 0.2s, color 0.2s;
}

.esi-apt-lightbox-close:hover,
.esi-apt-lightbox-prev:hover,
.esi-apt-lightbox-next:hover {
   background: #EDE6DE !important; ;
   border-color: var(--primary-brand, #BB9B67);
        color: #2c2c2c !important;
}

.esi-apt-lightbox-close {
   top: 20px;
   right: 20px;
   width: 42px;
   height: 42px;
   font-size: 22px;
}
.esi-apt-lightbox-prev,
.esi-apt-lightbox-next {
   top: 50%;
   transform: translateY(-50%);
   width: 48px;
   height: 48px;
   font-size: 20px;
}
.esi-apt-lightbox-prev { left: 20px; }
.esi-apt-lightbox-next { right: 20px; }
.esi-apt-lightbox-counter {
   position: absolute;
   bottom: 20px;
   left: 50%;
   transform: translateX(-50%);
   background: #EDE6DE !important;
   color: var(--esi-navy, #1c2b4a);
   border: 1px solid var(--primary-brand-light-2, #EDE7DE);
   font-size: 14px;
   padding: 6px 14px;
   border-radius: 20px;
}
@media (max-width: 700px) {
   .esi-apt-lightbox-prev, .esi-apt-lightbox-next { width: 40px; height: 40px; }
}

/* ===================== SEKCIJE (splosno) ===================== */
.esi-apt-section {
   background: #fff;
   border: 1px solid var(--primary-brand-light-2);
   border-radius: 10px;
   padding: 1.5625rem;
}

.esi-apt-section h2, .esi-apt-box h2 {
   color: var(--esi-navy);
   font-size: 3rem;
   margin: 0 0 35px;
}
.esi-apt-description p { line-height: 1.7; }
.esi-apt-description-full { line-height: 1.7; margin-top: 12px; }

/* ===================== OPREMA ===================== */
.esi-apt-amenities-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 35px;
}
.esi-apt-amenity {
   display: flex;
   align-items: center;
   gap: 10px;
   font-size: 1rem;
}
.esi-apt-amenity .dashicons { color: var(--esi-gold); }
.esi-apt-amenities-hidden { margin-top: 14px; }

/* ===================== FAQ ===================== */


.esi-apt-faq h2 {
   color: var(--esi-navy);
   font-size: 3rem;
   margin: 0 0 20px;
}

.esi-apt-faq-list {
   display: flex;
   flex-direction: column;
   gap: 14px;
}
.esi-apt-faq-item {
   background: #fff;
   border: 1px solid var(--primary-brand-light-2);
   border-radius: 8px;
   padding: 6px 22px;
}
.esi-apt-faq-question-wrap {
   margin: 0;
   font-size: inherit;
   font-weight: inherit;
}

.esi-apt-faq-item .esi-apt-faq-question {
   width: 100%;
   text-align: left;
   padding: 18px 0;
   font-size: 19px;
   font-weight: 700;
   color: var(--esi-navy);
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   align-items: center;
   gap: 16px;
   cursor: pointer;
   border: none;

}


.esi-apt-faq-item .esi-apt-faq-question:hover {
   background-color:white;
   
}


.esi-apt-faq-item .esi-apt-faq-question:active {
   background-color:white;
}

.esi-apt-faq-toggle {
   color: var(--esi-gold);
   font-size: 20px;
   font-weight: 400;
   flex-shrink: 0;
}
.esi-apt-faq-answer {
   padding: 0 0 22px;
   color: #555;
   line-height: 1.6;
}


/* ===================== SIDEBAR BOXI ===================== */
.esi-apt-sidebar-box {
   background: #fff;
   border: 1px solid var(--esi-border);
   border-radius: 10px;
   padding: 25px;
 
}

.esi-apt-highlight-box {
   background-color: var(--primary-brand-light-2);
}

.esi-apt-highlight-box h3 {
   margin: 0 0 14px;
   font-size: 1.5rem;
   color: var(--esi-navy);
   font-weight: 700;
}
.esi-apt-highlight-box ul {
   list-style: none;
   margin: 0 0 20px;
   padding: 0;
}
.esi-apt-highlight-box li {
   display: flex;
   gap: 10px;
   align-items: flex-start;
   font-size: 14px;
   margin-bottom: 15px;
   color: #444;
   font-size: 1.125rem;
}
.esi-apt-highlight-box .dashicons { color: var(--esi-gold); margin-top: 2px; }

.esi-apt-location-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 10px;
   margin-bottom: 14px;
}
.esi-apt-location-label, .esi-apt-floorplan-label{
   display: block;
   font-size: 11.5px;
   font-weight: 800;
   color: var(--esi-navy);
   margin-bottom: 6px;
   display: flex;
   align-items: center;
    display: flex;
   gap: 5px;
   color: var(--primary-brand);

}
.esi-apt-map-embed iframe {
   width: 100%;
   height: 130px;
   border-radius: 8px;
   border: none;
}




.esi-apt-location-desc {
   font-size: 13px;
   color: #555;
   line-height: 1.6;
   margin-bottom: 10px;
}

.esi-apt-sidebar-box.esi-apt-highlight-box{
   display: flex;
   flex-direction: column;
}

.esi-apt-sidebar-box.esi-apt-highlight-box .esi-apt-highlight-title {
   font-size: 1.125rem;
   font-weight: 700;
   margin: 0 0 28px;
}

/* ===================== TESTIMONIALI ===================== */
.esi-apt-testimonials-section {
   text-align: center;
   background: transparent;
   border: none;
   padding: 40px 0;
}
.esi-apt-centered-title {
   font-size: 28px;
}
.esi-apt-badge-icon-centered {
   margin: 0 auto 30px;
   width:153px;
}
.esi-apt-testimonials-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20px;
   text-align: left;
   margin-bottom: 30px;
}
@media (max-width: 900px) {
   .esi-apt-testimonials-grid { grid-template-columns: 1fr; }
}
.esi-apt-testimonial-card {
   background: #fff;
   border: 1px solid var(--primary-brand-light-2);
   box-shadow: 0px 1px 10px -1px rgba(0, 0, 0, 0.25);
   border-radius: 8px;
   padding: 25px;
}
.esi-apt-testimonial-stars {
   color: var(--esi-gold);
   margin-bottom: 10px;
}

.esi-apt-testimonial-card {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
}


.esi-apt-testimonial-card p {
   font-size: 14px;
   line-height: 1.6;
   color: #444;
   margin: 0 0 14px;
}
.esi-apt-cta-row {
   display: flex;
   gap: 12px;
   justify-content: center;
}

.esi-exp-page .esi-apt-section.esi-apt-testimonials-section {
   padding: 0px !important;
}

.esi-trf-page .esi-apt-section.esi-apt-testimonials-section {
   padding: 0px !important;
}

/* ===================== HISNA PRAVILA ===================== */

.esi-apt-houserules-title h2 {
   color: var(--esi-navy);
   font-size: 3.5rem;
   margin: 0 0 50px;
}
.esi-apt-houserules-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 20px;
   margin-bottom: 28px;
}


.esi-apt-houserules-section {
   margin-bottom: 24px;
}
.esi-apt-houserules-section h2 {
   font-size: 3rem;  
}

.esi-apt-houserules-box {
   background: #fff;
   border-radius: 10px;
   padding: 20px;
   border: 1px solid var(--primary-brand-light-2) !important;

}  

.esi-apt-houserules-box h3,
.esi-apt-details-box h3 {

   margin: 0 0 14px;
   color: var(--secondary-brand) !important;

}


.esi-apt-houserules-section{
   color: var(--esi-navy);
   font-size: 3rem;
   margin: 0 0 50px;
   
}
.esi-apt-houserules-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 20px;
   margin-top: 16px;
}

.esi-apt-houserules-box {
   background: #fff;
   border-radius: 10px;
   padding: 45px;
  
}

.esi-apt-houserules-items div {
   display: flex;
   flex-direction: column;
   gap: 10px;
}

.esi-apt-houserules-items div img {
  width: 60px;

}

.esi-apt-houserules-items div {
   border: 1px solid var(--primary-brand-light-2);
}

.esi-apt-houserules-box h3 {
   color: var(--esi-navy);
   margin: 0 0 14px;
}
.esi-apt-houserules-items {
   display: flex;
   flex-direction: row;
   gap: 16px;
}
.esi-apt-houserules-items > div {
   background: var(--esi-bg-soft);
   border-radius: 8px;
   padding: 25px 25px;
   flex: 1;
}
.esi-apt-houserules-items strong {
   font-family: var(--esi-font-heading);
   display: block;
   font-size: 1.3125rem;
   color: var(--esi-navy);
   margin-bottom: 4px;
}
.esi-apt-houserules-items span {
   font-size: 1rem;
   color: #666;
}

/* ===================== PODROBNOSTI / POLITIKA ===================== */
.esi-apt-details-section {
   display: flex;
   flex-direction: column;
   gap: 24px;
}
.esi-apt-details-box {
   background: #fff;
   border-radius: 10px;
   padding: 40px 35px;
   border: 1px solid var(--primary-brand-light-2);
}
.esi-apt-details-box h3 {
   color: var(--esi-navy);
   margin: 0 0 12px;
}
.esi-apt-details-box p { line-height: 1.6; color: #444; }

/* ===================== CTA BANNER ===================== */
.esi-apt-cta-banner {
   background: linear-gradient(rgba(15,25,45,0.65), rgba(15,25,45,0.65)), var(--esi-navy);
   background-size: cover;
   color: #fff;
   text-align: center;
   padding: 60px 20px;
}
.esi-apt-cta-banner h2 { font-size: 3.6875rem; margin: 0 0 10px; }
.esi-apt-cta-banner p { max-width: 500px; margin: 0 auto 24px; opacity: 0.9; }

@media (max-width: 700px) {
   .esi-apt-houserules-grid { grid-template-columns: 1fr; }
   .esi-apt-houserules-box { padding: 25px !important; }
   .esi-apt-houserules-items { flex-direction: row; gap: 16px; text-align: center;  }
   .esi-apt-houserules-items div { padding: 20px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; }
   .esi-apt-details-box{ padding: 20px !important; }
   .esi-apt-cta-banner p { max-width: 320px; }
}

/* ===================== CTA BANNER APARTMENTS ===================== */

.esi-apt-page .esi-apt-cta-banner {
   /* Two image layers: the copy shipped with the plugin is tried first, the
      media-library file second. Whichever exists on this install shows up, so
      the banner survives moving between local, staging and live. A missing
      layer is simply transparent. */
   background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)),
                     url('images/cta-background.jpg'),
                     url('/wp-content/uploads/2026/06/ljubljana-city-center-evening-riverside.png');
   padding: 80px 0px 80px;
   background-size: cover;
   background-position: center center; 
 
}


/* ===================== MODAL (rezervacija) ===================== */
.esi-apt-modal {
   display: none;
   position: fixed;
   top: 0; left: 0; right: 0; bottom: 0;
   z-index: 99999;
}
.esi-apt-modal.esi-apt-modal-open { display: block; }
.esi-apt-modal-overlay {
   position: absolute;
   top: 0; left: 0; right: 0; bottom: 0;
   background: rgba(0,0,0,0.6);
}
.esi-apt-modal-box {
   position: relative;
   width: 92%;
   height: 90%;
   max-width: 1100px;
   margin: 3% auto;
   background: #fff;
   border-radius: 10px;
   overflow: hidden;
   box-shadow: 0 10px 40px rgba(0,0,0,0.3);
}
.esi-apt-modal-close {
   position: absolute;
   top: 10px;
   right: 14px;
   z-index: 2;
   background: rgba(0,0,0,0.55);
   color: #fff;
   border: none;
   width: 34px;
   height: 34px;
   border-radius: 50%;
   font-size: 22px;
   line-height: 1;
   cursor: pointer;
}
.esi-apt-modal-close:hover { background: rgba(0,0,0,0.8); }
.esi-apt-modal-iframe { width: 100%; height: 100%; border: none; }
@media (max-width: 700px) {
   .esi-apt-modal-box { width: 100%; height: 100%; margin: 0; border-radius: 0; }
}




.esi-apt-section,
.esi-apt-fullbleed .esi-apt-container,
.esi-apt-testimonials-section,
.esi-apt-cta-banner,
.esi-apt-inner {
   padding-top: var(--esi-section-padding-y) !important;
   padding-bottom: var(--esi-section-padding-y) !important;
}

.esi-apt-inner .esi-apt-inner-2 {
   padding-top: 52px !important;
   padding-bottom: 0px !important;

}


.esi-apt-description-full {

   max-height: 250px;   /* pribl. 6 vrstic besedila, prilagodi po okusu */
   overflow: hidden;
   position: relative;
   margin-bottom: 20px;
}
.esi-apt-description-full.esi-apt-expanded {
   max-height: none;
}

.esi-apt-box {
   background: #fff;
   border: 1px solid var(--primary-brand-light-2);
   border-radius: 10px;
   padding:25px;

   gap:35px;
   flex-direction: column;
   
 
}



/* ===================== POPRAVEK: odstrani temin rdec :focus/:active stil ===================== */
.esi-apt-faq-question:focus,
.esi-apt-faq-question:active,
.esi-apt-faq-question:focus-visible,
.esi-apt-toggle-description:focus,
.esi-apt-toggle-description:active,
.esi-apt-toggle-description:focus-visible,
.esi-apt-show-all-photos:focus,
.esi-apt-show-all-photos:active,
.esi-apt-show-all-photos:focus-visible,
.esi-apt-gallery-item:focus,
.esi-apt-gallery-item:active,
.esi-apt-gallery-item:focus-visible,
.esi-apt-btn:focus,
.esi-apt-btn:active,
.esi-apt-btn:focus-visible {
   outline: none;
   box-shadow: none;
   background-color: inherit;
}

.esi-apt-faq-item .esi-apt-faq-question:focus,
.esi-apt-faq-item .esi-apt-faq-question:active {
   background-color: white;
}

.esi-apt-btn-outline:focus,
.esi-apt-btn-outline:active,
.esi-apt-btn-outline:focus-visible {
   outline: none;
   box-shadow: none;
}


[type=button]:focus, [type=submit]:focus, button:focus {
   outline: none !important;
   box-shadow: none  !important;
   background-color: inherit !important; 
}

.esi-apt-btn-primary[type=button]:hover {
   background-color: var(--primary-brand) !important;
}

/* The global focus reset above sets background-color: inherit !important on
   every button, which would make the lightbox controls turn transparent
   against the black overlay the moment they're clicked/focused. Restore
   their white background specifically, after that rule so it wins. */
.esi-apt-lightbox-close:focus,
.esi-apt-lightbox-prev:focus,
.esi-apt-lightbox-next:focus,
.esi-apt-lightbox-close:hover,
.esi-apt-lightbox-prev:hover,
.esi-apt-lightbox-next:hover {
   background-color: #fff !important;
}

@media (max-width: 992px) {
   .esi-apt-inner {
      padding-left: 15px !important;
      padding-right: 15px !important;
      box-sizing: border-box !important;
   }
}

@media (max-width: 992px) { 
   h2 {
      font-size: 2.5rem !important;
   }
   .esi-apt-box {
      padding: 20px !important;
   }
   .esi-apt-container {
      padding-left: 15px !important;
      padding-right: 15px !important;
   }
}
/* ============================================================
   EXPERIENCE PAGE - specific styles
   ============================================================ */

/* Main grid - levo vsebina, desno sticky sidebar (obratno od apartmaja) */
.esi-exp-main-grid {
   display: grid;
   grid-template-columns: 1.2fr 1fr;
   gap: 39px;
   padding-top: 40px;
   margin-bottom: 40px;
}
@media (max-width: 900px) {
   .esi-exp-main-grid { grid-template-columns: 1fr; }
}

.esi-exp-col-left {
   display: flex;
   flex-direction: column;
   gap: 24px;
}

.esi-exp-col-right {
   align-self: start;
   position: sticky;
   top: 20px;
   display: flex;
   flex-direction: column;
   gap: 20px;
}
@media (max-width: 900px) {
   .esi-exp-col-right { position: static; }
}

/* Section */
.esi-exp-section h2 {
   color: var(--esi-navy);
   font-size: 1.8rem;
   margin: 0 0 16px;
}

/* Show more toggle */
.esi-exp-content-full {
   max-height: 200px;
   overflow: hidden;
   position: relative;
   margin-bottom: 12px;
   line-height: 1.7;
}
.esi-exp-content-full.esi-apt-expanded {
   max-height: none;
}

/* Info box (Duration / Type / Departure) */
.esi-exp-info-box {
   display: flex;
   flex-direction: column;
   gap: 16px;
}
.esi-exp-info-row {
   display: flex;
   align-items: flex-start;
   gap: 14px;
   padding-bottom: 16px;
   border-bottom: 1px solid var(--esi-border);
}
.esi-exp-info-row:last-child {
   border-bottom: none;
   padding-bottom: 0;
}
.esi-exp-info-icon {
   color: var(--esi-gold);
   font-size: 22px;
   flex-shrink: 0;
   margin-top: 2px;
}
.esi-exp-info-row strong {
   display: block;
   font-size: 13px;
   color: #888;
   font-weight: 600;
   text-transform: uppercase;
   letter-spacing: 0.5px;
   margin-bottom: 3px;
}
.esi-exp-info-row span {
   font-size: 15px;
   color: var(--esi-navy);
   font-weight: 600;
}

/* Included box */
.esi-exp-included-box h3 {
   color: var(--esi-navy);
   margin: 0 0 16px;
   font-size: 16px;
}
.esi-exp-included-label {
   font-size: 12px;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 0.5px;
   color: var(--esi-gold);
   margin: 14px 0 8px;
}
.esi-exp-excluded-label {
   color: #888;
}
.esi-exp-included-list,
.esi-exp-excluded-list {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   flex-direction: column;
   gap: 8px;
}
.esi-exp-included-list li,
.esi-exp-excluded-list li {
   display: flex;
   align-items: flex-start;
   gap: 8px;
   font-size: 14px;
   line-height: 1.5;
}
.esi-exp-included-list .dashicons { color: #2c7a4b; }
.esi-exp-excluded-list .dashicons { color: #b94a48; }
.esi-exp-price-note {
   font-size: 12px;
   color: #888;
   margin: 12px 0 0;
   font-style: italic;
}

/* Map embed in sidebar */
.esi-apt-sidebar-box iframe {
   width: 100%;
   height: 200px;
   border-radius: 8px;
   border: none;
   display: block;
}

/* ============================================================
   EXPERIENCE SIDEBAR - Duration/Type/Departure info box
   ============================================================ */
.esi-exp-info-sidebar {
   padding: 0;
   overflow: hidden;
}
.esi-exp-info-item {
   display: flex;
   align-items: center;
   gap: 16px;
   padding: 18px 22px;
   border-bottom: 1px solid var(--esi-border);
}
.esi-exp-info-item:last-child {
   border-bottom: none;
}

.esi-exp-info-icon-wrap img {
   width: auto;
   height: auto;
   object-fit: contain;
}
.esi-exp-info-text {
   display: flex;
   flex-direction: column;
   gap: 2px;
}
.esi-exp-info-text strong {
   font-size: 14px;
   font-weight: 700;
   color: var(--esi-navy);
}
.esi-exp-info-text span {
   font-size: 14px;
   color: #555;
}

/* Map embed in sidebar */
.esi-apt-sidebar-box iframe {
   width: 100%;
   height: 200px;
   border-radius: 8px;
   border: none;
   display: block;
}

/* ============================================================
   EXPERIENCE - What's included sidebar box
   ============================================================ */
.esi-exp-included-sidebar h3 {
   font-size: 1.4rem;
   color: var(--esi-navy);
   margin: 0 0 14px;
}
.esi-exp-included-label {
   font-size: 13px;
   font-weight: 700;
   color: var(--esi-navy);
   margin: 14px 0 8px;
}
.esi-exp-excluded-label {
   color: var(--esi-navy);
}
.esi-exp-included-list,
.esi-exp-excluded-list {
   list-style: disc;
   padding-left: 18px;
   margin: 0;
   display: flex;
   flex-direction: column;
   gap: 6px;
}
.esi-exp-included-list li,
.esi-exp-excluded-list li {
   font-size: 14px;
   line-height: 1.5;
   color: #444;
}
.esi-exp-price-note {
   font-size: 12px;
   color: #888;
   margin: 12px 0 0;
   font-style: italic;
}

/* FAQ - full width standalone section (Experience page) */
.esi-exp-page .esi-exp-faq-fullwidth {
   padding: 80px 0 80px;
}
.esi-exp-page  .esi-exp-faq-fullwidth h2 {
   font-size: 3rem;
   color: var(--esi-navy);
   margin: 0 0 50px;
   text-align: center;
}

.esi-exp-page .esi-apt-testimonials-section {
   background-color: #F9FAFB;
}

.esi-exp-page .esi-apt-faq-item .esi-apt-faq-question {
   font-size: 1.8125rem;
   color: var(--secondary-brand);
   font-weight: 700;
   letter-spacing: -0.3px;
}

.esi-exp-page .esi-apt-faq-item .esi-apt-faq-question:hover {
   color: var(--secondary-brand);
}

 @media (max-width: 700px) {
   .esi-exp-page .esi-exp-faq-fullwidth  {
      padding: 40px 0 40px;
   }

   .esi-exp-page  .esi-apt-faq-question {
      font-size: 19px !important;
 
   }
}



/* FAQ - full width standalone section (Transfer page) */
.esi-trf-page .esi-exp-faq-fullwidth {
   padding: 80px 0 80px;
}
.esi-trf-page  .esi-exp-faq-fullwidth h2 {
   font-size: 3rem;
   color: var(--esi-navy);
   margin: 0 0 50px;
   text-align: center;
}

.esi-trf-page .esi-apt-testimonials-section {
   background-color: #F9FAFB;
}

.esi-trf-page .esi-apt-faq-item .esi-apt-faq-question {
   font-size: 1.8125rem;
   color: var(--secondary-brand);
   font-weight: 700;
   letter-spacing: -0.3px;
}

.esi-trf-page .esi-apt-faq-item .esi-apt-faq-question:hover {
   color: var(--secondary-brand);
}

 @media (max-width: 700px) {
   .esi-trf-page .esi-exp-faq-fullwidth  {
      padding: 40px 0 40px;
   }

   .esi-trf-page  .esi-apt-faq-question {
      font-size: 19px !important;
 
   }
}

.esi-apt-faq-item {
   background-color: white;
   max-width:1063px;
   
}

.esi-apt-faq-list {
   max-width:1063px;
   margin:0 auto;
}


/* What will we provide you? - wysiwyg sidebar box */
.esi-exp-provided-box h3 {
   font-size: 1.4rem;
   color: var(--esi-navy);
   margin: 0 0 14px;
}
.esi-exp-provided-content {
   font-size: 14px;
   line-height: 1.7;
   color: #444;
}
.esi-exp-provided-content ul,
.esi-exp-provided-content ol {
   padding-left: 18px;
   margin: 8px 0;
}
.esi-exp-provided-content li {
   margin-bottom: 5px;
}
.esi-exp-provided-content strong {
   color: var(--esi-navy);
   font-weight: 700;
}


/* Call to action (Experience page) */


.esi-exp-cta-banner {
   background: linear-gradient(rgba(15,25,45,0.65), rgba(15,25,45,0.65)), var(--esi-navy);
   background-size: cover;
   color: #fff;
   text-align: center;
   padding: 60px 20px;
}
.esi-exp-cta-banner h2 { font-size: 3.6875rem; margin: 0 0 10px; }
.esi-exp-cta-banner p { max-width: 500px; margin: 0 auto 24px; opacity: 0.9; }

@media (max-width: 700px) {
   .esi-apt-houserules-grid { grid-template-columns: 1fr; }
   .esi-apt-houserules-box { padding: 25px !important; }
   .esi-apt-houserules-items { flex-direction: row; gap: 16px; text-align: center;  }
   .esi-apt-houserules-items div { padding: 20px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; }
   .esi-apt-details-box{ padding: 20px !important; }
   .esi-exp-cta-banner p { max-width: 320px; }
}


.esi-exp-page .esi-exp-cta-banner{

   background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)),
                     url('images/cta-background.jpg'),
                     url('/wp-content/uploads/2026/08/piran-morje.webp');
   padding: 80px 0px 80px;
   background-size: cover;
   background-position: center center; 
 
}

.esi-exp-page .esi-exp-cta-banner .esi-apt-cta-row{
   display: block;


}





/* ============================================================
   TRANSFERS — 2 images only (no full gallery)
   ============================================================ */
.esi-trf-images {
   display: flex;
   flex-direction: column;
   gap: 12px;
}
.esi-trf-image-item {
   display: block;
   width: 100%;
   padding: 0;
   border: none;
   background: none;
   cursor: pointer;
   border-radius: 10px;
   overflow: hidden;
   height: 220px;
}
.esi-trf-image-item.esi-trf-image-main {
   height: 293px;
}
.esi-trf-image-item img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}
@media (max-width: 700px) {
   .esi-trf-image-item,
   .esi-trf-image-item.esi-trf-image-main {
      height: 220px;
   }
}

/* ============================================================
   TRANSFERS — Price box (sidebar, under the two images)
   ============================================================ */
.esi-trf-price-box {
   background-color: var(--primary-brand-light-2);
   border: none;
}
.esi-trf-price-title {
   font-size: 2rem;
   color: var(--esi-navy);
   margin: 0 0 18px;
}
.esi-trf-price-head {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 12px;
   padding-bottom: 12px;
   border-bottom: 1px solid rgba(222, 226, 230, 0.5);
   margin-bottom: 12px;
}
.esi-trf-price-head + .esi-trf-price-head {
   margin-top: 24px;
}
.esi-trf-price-head-label {
   display: flex;
   align-items: center;
   gap: 8px;
   font-family: var(--esi-font-heading);
   font-size: 1.1rem;
   font-weight: 700;
   color: var(--esi-navy);
}
.esi-trf-price-head-label img {
   width: 22px;
   height: 22px;
   object-fit: contain;
   flex-shrink: 0;
}
.esi-trf-price-head-price {
   font-family: var(--esi-font-heading);
   font-size: 1.05rem;
   font-weight: 700;
   color: var(--esi-navy);
   flex-shrink: 0;
}
.esi-trf-price-list {
   list-style: none;
   margin: 0 0 24px;
   padding: 0;
   display: flex;
   flex-direction: column;
   gap: 10px;
}
.esi-trf-price-list:last-of-type {
   margin-bottom: 0;
}
.esi-trf-price-list li {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 12px;
   font-size: 1rem;
   color: #2c2c2c;
}
.esi-trf-price-name {
   display: flex;
   align-items: center;
   gap: 12px;
   font-weight: bold;
}
.esi-trf-price-name::before {
   content: '';
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: var(--primary-brand);
   flex-shrink: 0;
}
.esi-trf-price-value {
   font-weight: 400;
   color: var(--esi-navy);
   flex-shrink: 0;
}
.esi-trf-price-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   margin-top: 24px;
}
.esi-trf-price-actions .esi-apt-btn {
   flex: 1 1 auto;
   text-align: center;
}
@media (max-width: 700px) {
   .esi-trf-price-actions .esi-apt-btn {
      flex: 1 1 100%;
   }
}

/* ============================================================
   TRANSFER ARCHIVE  (/transfers/)
   Plain WordPress loop, no search bar. Reuses .esi-apt-title,
   .esi-apt-btn-secondary/.esi-apt-btn-outline and the .esi-trf-price-*
   classes already defined above for the single transfer page, so a
   visual change to the price box updates both places at once.
   ============================================================ */
.esi-trf-archive-header {
   padding: var(--esi-section-padding-y, 40px) 0 30px;
   text-align: center;
}

.esi-trf-archive-grid {
   display: grid;
   /* --esi-trf-cols is set inline by [esi_transfers] (default 3 on the
      native archive, since it has none). Using a custom property instead of
      setting grid-template-columns inline means the media queries below can
      still override it — an inline grid-template-columns value would have
      permanently pinned the column count and made every breakpoint below
      silently do nothing, which is exactly what was happening before. */
   grid-template-columns: repeat(var(--esi-trf-cols, 3), 1fr);
   gap: 28px;
   padding-bottom: 40px;
}
@media (max-width: 1024px) {
   .esi-trf-archive-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 700px) {
   .esi-trf-archive-grid { grid-template-columns: 1fr !important; gap: 20px; }

   /* Sizes below were tuned for a 3-up desktop card; on a full-width phone
      card they read too large, so this trims them down a step. Nothing
      above this block is touched — desktop stays exactly as it was. */
   .esi-trf-archive-body { padding: 16px; gap: 12px; }
   .esi-trf-archive-title { font-size: 1.15rem; line-height: 1.25; }
   .esi-trf-archive-meta-row { font-size: 0.9rem; }
   .esi-trf-archive-price .esi-trf-price-title { font-size: 1.4rem; margin-bottom: 12px; }
   .esi-trf-archive-price .esi-trf-price-head-label { font-size: 0.95rem; }
   .esi-trf-archive-price .esi-trf-price-head-price { font-size: 0.9rem; }
   .esi-trf-archive-price .esi-trf-price-list li { font-size: 0.9rem; }
   .esi-trf-archive-more { font-size: 0.9rem; padding: 10px 16px; }
}

.esi-trf-archive-card {
   display: flex;
   flex-direction: column;
   background: #fff;
   border-radius: 8px;
   overflow: hidden;
   box-shadow: 0 4px 6px -1px rgb(0 0 0 / 20%);
}

.esi-trf-archive-image {
   display: block;
   aspect-ratio: 4 / 3;
   background: #ececec center/cover no-repeat;
   text-decoration: none;
}
.esi-trf-archive-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.esi-trf-archive-body {
   display: flex;
   flex-direction: column;
   gap: 16px;
   padding: 22px;
}

.esi-trf-archive-title {
   margin: 0;
   font-size: 1.5rem;
   line-height: 1.3;
}
.esi-trf-archive-title a {
   color: var(--esi-navy);
   text-decoration: none;
   font-weight: bold;
}
.esi-trf-archive-title a:hover { text-decoration: underline; }

.esi-trf-archive-meta {
   display: flex;
   flex-direction: column;
   gap: 8px;
   padding-bottom: 4px;
   border-bottom: 1px solid #dee2e6;
}
.esi-trf-archive-meta-row {
   display: flex;
   justify-content: space-between;
   align-items: baseline;
   gap: 12px;
   font-size: 1rem;
}
.esi-trf-archive-meta-row strong {
   color: var(--esi-navy);
   font-weight: 700;
}
.esi-trf-archive-meta-row span {
   color: #444;
}

/* The price table itself reuses .esi-trf-price-head / .esi-trf-price-list
   from the single transfer page — only the outer wrapper needs its own
   spacing here since the archive card has no bez background around it. */
.esi-trf-archive-price {
   padding-top: 4px;
}
.esi-trf-archive-price .esi-trf-price-list {
   margin-bottom: 12px;
}

.esi-trf-archive-more {
   align-self: stretch;
   text-align: center;
   margin-top: auto;
}

.esi-trf-archive-empty {
   text-align: center;
   padding: 40px 0;
   color: #666;
}

/* the_posts_pagination() output — plain <a> links, not <button>, so this
   is unaffected by the theme's global [type=button] styling. */
.esi-trf-archive-page .pagination {
   display: flex;
   justify-content: center;
   gap: 6px;
   margin: 10px 0 60px;
}
.esi-trf-archive-page .pagination .page-numbers {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 40px;
   height: 40px;
   padding: 0 10px;
   border: 1px solid var(--primary-brand-light-2, #EDE7DE);
   border-radius: 8px;
   color: var(--esi-navy);
   text-decoration: none;
   font-size: 15px;
}
.esi-trf-archive-page .pagination .page-numbers:hover {
   border-color: var(--primary-brand, #BB9B67);
   color: var(--primary-brand, #BB9B67);
}
.esi-trf-archive-page .pagination .page-numbers.current {
   background: var(--primary-brand, #BB9B67);
   border-color: var(--primary-brand, #BB9B67);
   color: #fff;
   font-weight: 700;
}

/* [esi_transfers] shortcode — reuses the same grid/card/pagination styling
   as the native archive above; only the wrapper selector differs. */

/* Elementor's flex/grid containers size a child to its content width
   (fit-content) unless the child explicitly claims full width — without
   this, the whole shortcode output shrinks to the width of its own longest
   unbreakable content and leaves the rest of the column empty beside it. */
.esi-trf-shortcode {
   width: 100%;
   max-width: 100%;
   min-width: 0;   /* flex/grid items default to min-width:auto, which can
                      block shrinking and cause overflow inside a narrow
                      Elementor column */
}
.esi-trf-shortcode .esi-trf-archive-grid { padding-bottom: 24px; width: 100%; }
.esi-trf-shortcode-pagination {
   display: flex;
   justify-content: center;
   margin: 10px 0 20px;
}
.esi-trf-shortcode-pagination ul {
   display: flex;
   gap: 6px;
   list-style: none;
   margin: 0;
   padding: 0;
}
.esi-trf-shortcode-pagination .page-numbers {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 40px;
   height: 40px;
   padding: 0 10px;
   border: 1px solid var(--primary-brand-light-2, #EDE7DE);
   border-radius: 8px;
   color: var(--esi-navy);
   text-decoration: none;
   font-size: 15px;
}
.esi-trf-shortcode-pagination .page-numbers:hover {
   border-color: var(--primary-brand, #BB9B67);
   color: var(--primary-brand, #BB9B67);
}
.esi-trf-shortcode-pagination .page-numbers.current {
   background: var(--primary-brand, #BB9B67);
   border-color: var(--primary-brand, #BB9B67);
   color: #fff;
   font-weight: 700;
}
.esi-trf-shortcode-pagination .page-numbers.dots {
   border: none;
   color: #999;
}

/* [esi_transfers] loading state, shown briefly while the AJAX request runs. */
.esi-trf-archive-loading {
   text-align: center;
   padding: 40px 0;
   color: #888;
}

/* Pagination buttons are real <button> elements here (not <a> links, since
   clicks are intercepted by JS to re-fetch instead of navigating) — reusing
   the exact same look as .esi-trf-shortcode-pagination's <a> version above,
   just resetting the native button chrome first. */
.esi-trf-shortcode-pagination button.page-numbers {
   font-family: inherit;
   background: #fff;
   cursor: pointer;
}
.esi-trf-shortcode-pagination button.page-numbers:disabled {
   cursor: default;
}
