/*
 * PMT Hotel Collection
 * Standalone styles extracted from PMT Custom Elements.
 */

.reveal {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .88s ease, transform .88s ease;
}
.reveal.in {
  opacity: 1;
  transform: translateY(0);
}
.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
.reveal-delay-3 { transition-delay: .3s; }

/* ==========================================================================
   PMT Hotel Collection
   ========================================================================== */
.pmt-hc{
  --pmt-hc-bg:#2C4A6E; --pmt-hc-pt:0px; --pmt-hc-pr:0px; --pmt-hc-pb:0px; --pmt-hc-pl:0px;
  --pmt-hc-cpy:90px; --pmt-hc-cpx:64px; --pmt-hc-left:1fr; --pmt-hc-mid:2fr; --pmt-hc-right:1fr;
  --pmt-hc-label-color:rgba(212,168,75,.75); --pmt-hc-label-size:8px; --pmt-hc-label-letter:.52em; --pmt-hc-label-height:1;
  --pmt-hc-title-color:#FDFAF5; --pmt-hc-title-accent:#D4A84B; --pmt-hc-title-size:52px; --pmt-hc-title-line:1;
  --pmt-hc-prop-name-color:rgba(253,250,245,.65); --pmt-hc-prop-name-size:11px; --pmt-hc-prop-name-letter:.2em;
  --pmt-hc-prop-loc-color:rgba(253,250,245,.3); --pmt-hc-prop-loc-size:14px; --pmt-hc-prop-arrow:#D4A84B;
  --pmt-hc-body-color:rgba(253,250,245,.45); --pmt-hc-body-size:13px; --pmt-hc-body-line:1.95;
  --pmt-hc-border:rgba(253,250,245,.07); --pmt-hc-cta-color:#1A3050; --pmt-hc-cta-bg:#D4A84B; --pmt-hc-cta-hover-color:#1A3050; --pmt-hc-cta-hover-bg:#FDFAF5; --pmt-hc-cta-size:8.5px; --pmt-hc-cta-letter:.42em;
  background:var(--pmt-hc-bg); padding:var(--pmt-hc-pt) var(--pmt-hc-pr) var(--pmt-hc-pb) var(--pmt-hc-pl);
}
.pmt-hc__inner{display:grid; grid-template-columns:minmax(0,var(--pmt-hc-left)) minmax(0,var(--pmt-hc-mid)) minmax(0,var(--pmt-hc-right)); align-items:stretch}
.pmt-hc__left,.pmt-hc__mid,.pmt-hc__right{padding:var(--pmt-hc-cpy) var(--pmt-hc-cpx); display:flex; flex-direction:column; justify-content:center}
.pmt-hc__left,.pmt-hc__mid{border-right:1px solid var(--pmt-hc-border)}
.pmt-hc__label{display:block; margin:0 0 20px; color:var(--pmt-hc-label-color); font:300 var(--pmt-hc-label-size)/var(--pmt-hc-label-height) "Jost",sans-serif; letter-spacing:var(--pmt-hc-label-letter); text-transform:uppercase}
.pmt-hc__title{margin:0; color:var(--pmt-hc-title-color); font:300 clamp(32px,4vw,var(--pmt-hc-title-size))/var(--pmt-hc-title-line) "Cormorant Garamond",serif; letter-spacing:-.01em}
.pmt-hc__title p,.pmt-hc__title span{margin:0; display:block}
.pmt-hc__title em{font-style:italic; color:var(--pmt-hc-title-accent)}
.pmt-hc__mid{gap:2px}
.pmt-hc__prop{display:flex; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid var(--pmt-hc-border)}
.pmt-hc__prop::before{content:"→"; color:var(--pmt-hc-prop-arrow); font-size:12px; flex-shrink:0}
.pmt-hc__prop-name{color:var(--pmt-hc-prop-name-color); font:300 var(--pmt-hc-prop-name-size)/1.2 "Jost",sans-serif; letter-spacing:var(--pmt-hc-prop-name-letter); text-transform:uppercase; text-decoration:none}
.pmt-hc__prop-name:hover{opacity:.8}
.pmt-hc__prop-location{margin-left:auto; color:var(--pmt-hc-prop-loc-color); font:300 var(--pmt-hc-prop-loc-size)/1.3 "Cormorant Garamond",serif; font-style:italic; text-align:right}
.pmt-hc__prop.is-muted{opacity:.38}
.pmt-hc__body{margin:0 0 32px; color:var(--pmt-hc-body-color); font:300 var(--pmt-hc-body-size)/var(--pmt-hc-body-line) "Jost",sans-serif; letter-spacing:.04em}
.pmt-hc__body p{margin:0 0 12px}
.pmt-hc__body p:last-child{margin-bottom:0}
.pmt-hc__cta{display:inline-block; align-self:flex-start; background:var(--pmt-hc-cta-bg); color:var(--pmt-hc-cta-color); text-decoration:none !important; padding:14px 32px; font:300 var(--pmt-hc-cta-size)/1 "Jost",sans-serif; letter-spacing:var(--pmt-hc-cta-letter); text-transform:uppercase; transition:background .25s ease,color .25s ease, transform .25s ease}
.pmt-hc__cta:hover{background:var(--pmt-hc-cta-hover-bg); color:var(--pmt-hc-cta-hover-color); transform:translateY(-1px)}
@media(max-width:1200px){
  .pmt-hc__inner{grid-template-columns:1fr}
  .pmt-hc__left,.pmt-hc__mid{border-right:none; border-bottom:1px solid var(--pmt-hc-border)}
}
@media(max-width:767px){
  .pmt-hc__left,.pmt-hc__mid,.pmt-hc__right{padding:44px 20px}
  .pmt-hc__left{padding-bottom:0}
  .pmt-hc__mid{padding-top:32px}
  .pmt-hc__right{padding-top:32px}
  .pmt-hc__prop{flex-direction:column; align-items:flex-start; gap:6px}
  .pmt-hc__prop-location{margin-left:0; text-align:left}
}


/* PMT Réserver en direct */
.pmt-red{
  position:relative;
  overflow:hidden;
  background:var(--pmt-red-bg,#9B6B3A);
  padding:var(--pmt-red-pt,100px) var(--pmt-red-pr,64px) var(--pmt-red-pb,100px) var(--pmt-red-pl,64px);
}
/* Motif diagonal supprimé : fond uni uniquement. */
.pmt-red::before{
  content:none !important;
  display:none !important;
  background:none !important;
}
.pmt-red__inner{
  position:relative;
  z-index:1;
  max-width:var(--pmt-red-max,1200px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:80px;
}
.pmt-red__copy{min-width:0;}
.pmt-red__title{
  margin:0 0 14px;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(42px,5.5vw,var(--pmt-red-title-size,72px));
  font-weight:300;
  line-height:var(--pmt-red-title-line,.95);
  letter-spacing:-.02em;
  color:var(--pmt-red-title-color,#FDFAF5);
}
.pmt-red__title em{font-style:italic;color:var(--pmt-red-title-accent,#D4A84B)}
.pmt-red__benefits{
  overflow:hidden;
  white-space:nowrap;
  color:var(--pmt-red-benefits-color,rgba(253,250,245,.45));
}
.pmt-red__benefits-track{
  width:max-content;
  display:flex;
  align-items:center;
  gap:0;
  white-space:nowrap;
  font-family:"Jost",sans-serif;
  font-size:var(--pmt-red-benefits-size,11px);
  letter-spacing:var(--pmt-red-benefits-letter,.3em);
  text-transform:uppercase;
  animation:pmt-red-marquee var(--pmt-red-ticker-duration,28s) linear infinite;
  will-change:transform;
}
.pmt-red__benefit{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
}
.pmt-red__benefit::after{
  content:"·";
  display:inline-block;
  margin:0 1.1em;
  color:var(--pmt-red-benefits-separator,rgba(253,250,245,.35));
}
.pmt-red__benefit a,
.pmt-red__benefit span{
  color:inherit;
  text-decoration:none;
}
.pmt-red__acts{
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:flex-end;
}
.pmt-red__btn{
  font-size:var(--pmt-red-btn-size,8.5px);
  letter-spacing:var(--pmt-red-btn-letter,.42em);
  text-transform:uppercase;
  color:var(--pmt-red-btn-color,#9B6B3A);
  background:var(--pmt-red-btn-bg,#FDFAF5);
  padding:17px 52px;
  text-decoration:none;
  transition:background .3s,color .3s;
  display:inline-block;
  white-space:nowrap;
}
.pmt-red__btn:hover{
  background:var(--pmt-red-btn-hover-bg,#E5D7C0);
  color:var(--pmt-red-btn-hover-color,#9B6B3A);
}
.pmt-red__phone{
  font-family:"Cormorant Garamond",serif;
  font-size:var(--pmt-red-phone-size,22px);
  font-style:italic;
  color:var(--pmt-red-phone-color,rgba(253,250,245,.55));
  text-decoration:none;
  transition:color .3s;
}
.pmt-red__phone:hover{color:var(--pmt-red-title-color,#FDFAF5)}
.pmt-red__info{
  margin:0;
  font-family:"Jost",sans-serif;
  font-size:var(--pmt-red-info-size,8.5px);
  letter-spacing:var(--pmt-red-info-letter,.28em);
  text-transform:uppercase;
  color:var(--pmt-red-info-color,rgba(253,250,245,.35));
}
.pmt-marquee[data-direction="right"] .pmt-marquee__track,
.pmt-red__benefits[data-direction="right"] .pmt-red__benefits-track{
  animation-name:pmt-red-marquee-right;
}
.pmt-marquee[data-pause-hover="yes"]:hover .pmt-marquee__track,
.pmt-red__benefits[data-pause-hover="yes"]:hover .pmt-red__benefits-track{
  animation-play-state:paused;
}
@keyframes pmt-red-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes pmt-red-marquee-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}

@media(max-width:768px){
  .pmt-red{padding:60px 20px}
  .pmt-red__inner{grid-template-columns:1fr;gap:36px}
  .pmt-red__acts{align-items:stretch}
  .pmt-red__btn,.pmt-red__phone,.pmt-red__info{display:block}

  .pmt-red.pmt-red--mobile-center,
  .pmt-red.pmt-red--mobile-center .pmt-red__title,
  .pmt-red.pmt-red--mobile-center .pmt-red__phone,
  .pmt-red.pmt-red--mobile-center .pmt-red__info,
  .pmt-red.pmt-red--mobile-center .pmt-red__btn{text-align:center}
  .pmt-red.pmt-red--mobile-center .pmt-red__acts{align-items:center}

  .pmt-red.pmt-red--mobile-left,
  .pmt-red.pmt-red--mobile-left .pmt-red__title,
  .pmt-red.pmt-red--mobile-left .pmt-red__phone,
  .pmt-red.pmt-red--mobile-left .pmt-red__info,
  .pmt-red.pmt-red--mobile-left .pmt-red__btn{text-align:left}
  .pmt-red.pmt-red--mobile-left .pmt-red__acts{align-items:flex-start}

  .pmt-red.pmt-red--mobile-right,
  .pmt-red.pmt-red--mobile-right .pmt-red__title,
  .pmt-red.pmt-red--mobile-right .pmt-red__phone,
  .pmt-red.pmt-red--mobile-right .pmt-red__info,
  .pmt-red.pmt-red--mobile-right .pmt-red__btn{text-align:right}
  .pmt-red.pmt-red--mobile-right .pmt-red__acts{align-items:flex-end}
}

/* PMT v0.1.65 - mobile/layout fixes without overriding WPBakery dynamic settings */
.pmt-fs__stats{width:100%;max-width:none;box-sizing:border-box;}
@media only screen and (max-width:960px){
  .pmt-monuments .pmt-mon-header{grid-template-columns:1fr;}
  .pmt-monuments .pmt-mon-intro{grid-column:1 / -1;}
}
@media only screen and (max-width:767px){
  .pmt-ss2__inner{padding-left:0;padding-right:0;}
}
@media only screen and (max-width:1200px){
  .pmt-hc .pmt-hc__inner{display:flex;flex-direction:column;grid-template-columns:1fr;align-items:stretch;}
  .pmt-hc .pmt-hc__left,
  .pmt-hc .pmt-hc__right,
  .pmt-hc .pmt-hc__mid{width:100%;max-width:100%;flex:0 0 auto;box-sizing:border-box;grid-column:1 / -1;border-right:0;}
  .pmt-hc .pmt-hc__left{order:1;border-bottom:0;}
  .pmt-hc .pmt-hc__right{order:2;border-bottom:1px solid var(--pmt-hc-border);padding-top:0;}
  .pmt-hc .pmt-hc__mid{order:3;border-bottom:0;}
}
@media only screen and (max-width:767px){
  .pmt-hc .pmt-hc__left,
  .pmt-hc .pmt-hc__right,
  .pmt-hc .pmt-hc__mid{padding-left:20px;padding-right:20px;}
  .pmt-hc .pmt-hc__left{padding-top:44px;padding-bottom:22px;}
  .pmt-hc .pmt-hc__right{padding-top:0;padding-bottom:36px;}
  .pmt-hc .pmt-hc__mid{padding-top:32px;padding-bottom:44px;}
}

/* PMT Room Categories - WPBakery editor readability */
.pmt-vc-room-categories-parent .wpb_element_title{margin-left:34px;text-align:left;}
.pmt-vc-room-categories-parent .wpb_column_container{margin-top:10px;}
.vc_param_group-list .vc_param_group-collapsed .wpb_element_label{ text-align:left; }


/* ======================================================
   PMT Room Categories - Masonry Fix v0.1.91
====================================================== */

.pmt-rc--masonry .pmt-rc__grid,
.pmt-room-categories.layout-masonry .pmt-room-categories-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px;
    align-items:stretch;
}

.pmt-rc--masonry .pmt-rc__card,
.pmt-room-categories.layout-masonry .pmt-room-category{
    width:100% !important;
    max-width:none !important;
    flex:none !important;
    display:block;
}

.pmt-rc--masonry .pmt-rc__card.is-featured,
.pmt-room-categories.layout-masonry .pmt-room-category.is-featured{
    grid-column:span 2;
}

.pmt-room-categories.layout-masonry.featured-small .pmt-room-category.is-featured{
    min-height:420px;
}

.pmt-room-categories.layout-masonry.featured-medium .pmt-room-category.is-featured{
    min-height:540px;
}

.pmt-room-categories.layout-masonry.featured-large .pmt-room-category.is-featured{
    min-height:680px;
}

@media(max-width:991px){

    .pmt-rc--masonry .pmt-rc__grid,
    .pmt-room-categories.layout-masonry .pmt-room-categories-grid{
        grid-template-columns:1fr !important;
    }

    .pmt-rc--masonry .pmt-rc__card.is-featured,
    .pmt-room-categories.layout-masonry .pmt-room-category.is-featured{
        grid-column:auto;
    }

}


/* ======================================================
   PMT Masonry Width Fix v0.1.91
====================================================== */

.pmt-rc--masonry .pmt-rc__card.is-standard{
    grid-column:span 1 !important;
    width:100% !important;
    max-width:none !important;
}

.pmt-rc--masonry .pmt-rc__card.is-featured{
    grid-column:span 2 !important;
}

@media(max-width:991px){

    .pmt-rc--masonry .pmt-rc__card.is-standard,
    .pmt-rc--masonry .pmt-rc__card.is-featured{
        grid-column:auto !important;
    }

}


/* ======================================================
   PMT Masonry Final Grid Fix v0.1.91
====================================================== */

.pmt-rc--masonry .pmt-rc__grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;
    align-items:stretch !important;
}

.pmt-rc--masonry .pmt-rc__card{
    width:100% !important;
    max-width:none !important;
    flex:none !important;
    display:block !important;
}

.pmt-rc--masonry .pmt-rc__card.is-standard{
    grid-column:span 1 !important;
}

.pmt-rc--masonry .pmt-rc__card.is-featured{
    grid-column:span 2 !important;
}

.pmt-rc--masonry.pmt-rc--featured-small .pmt-rc__card.is-featured{
    min-height:420px !important;
}

.pmt-rc--masonry.pmt-rc--featured-medium .pmt-rc__card.is-featured{
    min-height:540px !important;
}

.pmt-rc--masonry.pmt-rc--featured-large .pmt-rc__card.is-featured{
    min-height:680px !important;
}

@media(max-width:991px){

    .pmt-rc--masonry .pmt-rc__grid{
        grid-template-columns:1fr !important;
    }

    .pmt-rc--masonry .pmt-rc__card.is-standard,
    .pmt-rc--masonry .pmt-rc__card.is-featured{
        grid-column:auto !important;
    }

}


/* ======================================================
   PMT Masonry Stable Fix v0.1.91
====================================================== */

.pmt-rc--masonry .pmt-rc__grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;
    align-items:stretch !important;
}

.pmt-rc--masonry .pmt-rc__card{
    width:100% !important;
    max-width:none !important;
    flex:none !important;
    display:block !important;
}

.pmt-rc--masonry .pmt-rc__card.is-standard{
    grid-column:span 1 !important;
}

.pmt-rc--masonry .pmt-rc__card.is-featured{
    grid-column:span 2 !important;
}

.pmt-rc--masonry.pmt-rc--featured-small .pmt-rc__card.is-featured{
    min-height:420px !important;
}

.pmt-rc--masonry.pmt-rc--featured-medium .pmt-rc__card.is-featured{
    min-height:540px !important;
}

.pmt-rc--masonry.pmt-rc--featured-large .pmt-rc__card.is-featured{
    min-height:680px !important;
}

@media(max-width:991px){

    .pmt-rc--masonry .pmt-rc__grid{
        grid-template-columns:1fr !important;
    }

    .pmt-rc--masonry .pmt-rc__card{
        grid-column:auto !important;
    }

}
