/* Trombine 7.2.3 — animation renforcée sur ordinateur et mobile. */
.cac-trombine,.cac-trombine *{box-sizing:border-box}
.cac-trombine{position:relative;z-index:999999;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45;color:#23313d}
html.cac-trombine-lock{overflow:hidden}

/* Le bouton n'est qu'une zone cliquable transparente autour du personnage. */
.cac-trombine-button{position:fixed;right:18px;bottom:18px;width:92px;height:148px;margin:0;padding:0;border:0!important;border-radius:45%;background:transparent!important;box-shadow:none!important;cursor:pointer;z-index:1000000;appearance:none;-webkit-appearance:none;filter:drop-shadow(0 8px 7px rgba(0,0,0,.25));transition:filter .18s ease,transform .18s ease}
.cac-trombine-button:hover,.cac-trombine-button:focus-visible{outline:0!important;filter:drop-shadow(0 11px 8px rgba(0,0,0,.32));transform:scale(1.06)}
.cac-trombine-button:focus-visible .cac-trombine-mascot{outline:3px solid rgba(47,142,69,.5);outline-offset:5px;border-radius:40%}

/* Mascotte entièrement dessinée en SVG/CSS. */
.cac-trombine-mascot{position:relative;display:block;width:92px;height:148px;transform-origin:50% 75%;animation:cac-trombine-float 3.8s ease-in-out infinite;will-change:transform}
.cac-trombine-wire{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cac-trombine-wire path{fill:none;stroke:#9c9ca7;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(1px 1px 0 #fff)}
.cac-trombine-eye{position:absolute;top:31px;width:31px;height:31px;border:2px solid #d7d7dc;border-radius:50%;background:#fff;box-shadow:inset -3px -4px 5px rgba(0,0,0,.13),0 2px 3px rgba(0,0,0,.22);overflow:hidden}
.cac-trombine-eye-left{left:17px}
.cac-trombine-eye-right{right:17px}
.cac-trombine-pupil{position:absolute;left:10px;top:10px;width:10px;height:10px;border-radius:50%;background:#111;box-shadow:inset 2px 2px 2px rgba(255,255,255,.35);animation:cac-trombine-look 9s ease-in-out infinite}
.cac-trombine-lid{position:absolute;z-index:2;left:-2px;right:-2px;top:-2px;height:35px;border-radius:50%;background:#e8e8ec;transform:translateY(-105%);transform-origin:top;animation:cac-trombine-blink 6.2s infinite}
.cac-trombine-eye-right .cac-trombine-lid{animation-delay:.04s}
.cac-trombine-brow{position:absolute;top:23px;width:30px;height:7px;border-radius:8px;background:#171717}
.cac-trombine-brow-left{left:15px;transform:rotate(-10deg)}
.cac-trombine-brow-right{right:15px;transform:rotate(10deg)}
.cac-trombine-mascot-small{width:42px;height:68px}
.cac-trombine-mascot-small .cac-trombine-eye{top:14px;width:15px;height:15px;border-width:1px}
.cac-trombine-mascot-small .cac-trombine-eye-left{left:7px}.cac-trombine-mascot-small .cac-trombine-eye-right{right:7px}
.cac-trombine-mascot-small .cac-trombine-pupil{left:5px;top:5px;width:5px;height:5px}
.cac-trombine-mascot-small .cac-trombine-lid{height:18px}
.cac-trombine-mascot-small .cac-trombine-brow{top:10px;width:14px;height:3px}
.cac-trombine-mascot-small .cac-trombine-brow-left{left:7px}.cac-trombine-mascot-small .cac-trombine-brow-right{right:7px}

@keyframes cac-trombine-float{0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}50%{transform:translate3d(0,-9px,0) rotate(1deg)}}
@keyframes cac-trombine-blink{0%,44%,48%,72%,76%,100%{transform:translateY(-105%)}45%,47%,73%,75%{transform:translateY(0)}}
@keyframes cac-trombine-look{0%,20%,100%{transform:translate(0,0)}30%,42%{transform:translate(4px,1px)}55%,67%{transform:translate(-3px,2px)}}

/* Le personnage survole le bord du plugin public, sans pouvoir sortir de l'écran. */
.cac-trombine-over-plugin .cac-trombine-button{bottom:auto;right:auto}
.cac-trombine-is-open .cac-trombine-button{opacity:.45}
.cac-trombine-is-open .cac-trombine-mascot{animation-play-state:paused}

.cac-trombine-backdrop{position:fixed;inset:0;background:rgba(15,26,35,.48);z-index:1000001}
.cac-trombine-dialog{position:fixed;right:22px;bottom:22px;width:min(520px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 32px));overflow:hidden;border:2px solid #2f8e45;border-radius:18px;background:#fff;box-shadow:0 16px 48px rgba(0,0,0,.35);z-index:1000002}
.cac-trombine-header{display:grid;grid-template-columns:46px 1fr 38px;gap:10px;align-items:center;padding:15px 16px;background:#eaf6e7;border-bottom:1px solid #b9d8b5}
.cac-trombine-header h2{margin:0 0 2px!important;padding:0!important;font:700 22px/1.2 Arial,Helvetica,sans-serif!important;color:#19632d!important}
.cac-trombine-header p{margin:0!important;font-size:13px;color:#40524a}
.cac-trombine-close{width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:#334;font-size:30px;line-height:30px;cursor:pointer}
.cac-trombine-close:hover,.cac-trombine-close:focus-visible{background:#fff;outline:2px solid #2f8e45}
.cac-trombine-content{max-height:calc(100vh - 240px);overflow:auto;padding:18px 20px;background:#fff}
.cac-trombine-content h3{margin:0 0 10px!important;font:700 20px/1.25 Arial,Helvetica,sans-serif!important;color:#195f2b!important}
.cac-trombine-content h4{margin:18px 0 6px!important;font:700 16px/1.3 Arial,Helvetica,sans-serif!important;color:#23313d!important}
.cac-trombine-content p{margin:0 0 12px!important}
.cac-trombine-content ul,.cac-trombine-content ol{margin:8px 0 14px 22px!important;padding:0!important}
.cac-trombine-content li{margin:0 0 7px!important}
.cac-trombine-tip{padding:11px 13px;border-left:4px solid #2f8e45;border-radius:4px;background:#f3faef}
.cac-trombine-warning{padding:11px 13px;border-left:4px solid #db8a00;border-radius:4px;background:#fff7df}
.cac-trombine-footer{padding:12px 16px;text-align:right;background:#f6f7f7;border-top:1px solid #d9dede}
.cac-trombine-close-button{padding:9px 18px;border:1px solid #19632d;border-radius:8px;background:#2f8e45;color:#fff;font-weight:700;cursor:pointer}
.cac-trombine-close-button:hover,.cac-trombine-close-button:focus-visible{background:#19632d;outline:2px solid rgba(47,142,69,.3);outline-offset:2px}
.cac-trombine [hidden]{display:none!important}

@media(max-width:760px){
 .cac-trombine-button,.cac-trombine-over-plugin .cac-trombine-button{position:fixed!important;right:3px!important;left:auto!important;top:auto!important;bottom:82px!important;width:64px;height:104px}
 .cac-trombine-mascot{width:64px;height:104px;animation-duration:4.2s}
 .cac-trombine-eye{top:22px;width:23px;height:23px}.cac-trombine-eye-left{left:11px}.cac-trombine-eye-right{right:11px}
 .cac-trombine-pupil{left:7px;top:7px;width:8px;height:8px}.cac-trombine-lid{height:27px}
 .cac-trombine-brow{top:16px;width:21px;height:5px}.cac-trombine-brow-left{left:10px}.cac-trombine-brow-right{right:10px}
 .cac-trombine-dialog{right:8px;bottom:8px;width:calc(100vw - 16px);max-height:calc(100vh - 16px)}
 .cac-trombine-content{max-height:calc(100vh - 205px);padding:15px}.cac-trombine-header h2{font-size:19px!important}
}
@media(prefers-reduced-motion:reduce){.cac-trombine-mascot{animation-duration:7s!important;animation-timing-function:ease-in-out!important}.cac-trombine-pupil{animation-duration:14s!important}.cac-trombine-lid{animation-duration:9s!important}}
@media print{.cac-trombine{display:none!important}}

/* 7.4.4 — Trombine devient contextuelle dans le parcours de réservation. */
.cac-trombine-contextual{position:static;z-index:auto}
.cac-trombine-contextual .cac-trombine-card{position:relative;margin:28px 10px 22px 66px;padding:16px 18px 14px 42px;border:2px solid #72ad72;border-radius:15px;background:#f3fbf0;box-shadow:0 5px 15px rgba(36,92,47,.13);min-height:92px;color:#26382b}
.cac-trombine-contextual .cac-trombine-button{position:absolute;left:-66px;right:auto;top:-24px;bottom:auto;width:92px;height:148px;z-index:3;filter:drop-shadow(0 7px 6px rgba(0,0,0,.2))}
.cac-trombine-contextual .cac-trombine-button:hover,.cac-trombine-contextual .cac-trombine-button:focus-visible{transform:scale(1.035)}
.cac-trombine-contextual .cac-trombine-speech{min-width:0}
.cac-trombine-contextual .cac-trombine-card-title{display:block;margin:0 0 4px;color:#19632d;font-size:20px;line-height:1.25}
.cac-trombine-contextual .cac-trombine-card-text{margin:0 0 8px!important;font-size:15px;line-height:1.45;color:#33473a}
.cac-trombine-contextual .cac-trombine-more{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#176d35!important;text-decoration:underline;font-weight:700;font-size:13px;cursor:pointer}
.cac-trombine-contextual .cac-trombine-more:hover,.cac-trombine-contextual .cac-trombine-more:focus-visible{color:#0e4e25!important;text-decoration-thickness:2px}
.cac-trombine-contextual .cac-trombine-card-arrive{animation:cac-trombine-card-arrive .38s ease-out}
@keyframes cac-trombine-card-arrive{from{opacity:.3;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
.cac-trombine-contextual .cac-trombine-is-open .cac-trombine-button{opacity:1}

@media (max-width:760px){
  .cac-trombine-contextual .cac-trombine-card{margin:54px 4px 20px;padding:48px 14px 14px}
  .cac-trombine-contextual .cac-trombine-button{left:50%;top:-66px;width:72px;height:116px;transform:translateX(-50%)}
  .cac-trombine-contextual .cac-trombine-button:hover,.cac-trombine-contextual .cac-trombine-button:focus-visible{transform:translateX(-50%) scale(1.03)}
  .cac-trombine-contextual .cac-trombine-mascot{width:72px;height:116px}
  .cac-trombine-contextual .cac-trombine-card-title{font-size:18px;text-align:center}
  .cac-trombine-contextual .cac-trombine-card-text{text-align:center}
  .cac-trombine-contextual .cac-trombine-more{display:block;margin:0 auto}
}

@media print{
  .cac-trombine-card{display:none!important}
}

/* 7.4.4a — correctif : le cartouche est déplacé dans le parcours et n'est
   donc plus un descendant direct de .cac-trombine. Les règles ci-dessous
   s'appliquent directement au cartouche afin que Trombine reste réellement
   posée sur son bord. */
.cac-trombine-card{position:relative!important;margin:72px 10px 24px 10px!important;padding:24px 22px 18px 112px!important;border:2px solid #72ad72!important;border-radius:15px!important;background:#f3fbf0!important;box-shadow:0 5px 15px rgba(36,92,47,.13)!important;min-height:118px!important;color:#26382b!important;overflow:visible!important}
.cac-trombine-card .cac-trombine-button{position:absolute!important;left:18px!important;right:auto!important;top:-70px!important;bottom:auto!important;width:92px!important;height:148px!important;margin:0!important;z-index:5!important;opacity:1!important;filter:drop-shadow(0 7px 6px rgba(0,0,0,.22))!important}
.cac-trombine-card .cac-trombine-button:hover,.cac-trombine-card .cac-trombine-button:focus-visible{transform:scale(1.035)!important}
.cac-trombine-card .cac-trombine-speech{min-width:0}
.cac-trombine-card .cac-trombine-card-title{display:block;margin:0 0 5px;color:#19632d;font-size:20px;line-height:1.25}
.cac-trombine-card .cac-trombine-card-text{margin:0 0 8px!important;font-size:15px;line-height:1.45;color:#33473a}
.cac-trombine-card .cac-trombine-more{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#176d35!important;text-decoration:underline;font-weight:700;font-size:13px;cursor:pointer}
.cac-trombine-card .cac-trombine-more:hover,.cac-trombine-card .cac-trombine-more:focus-visible{color:#0e4e25!important;text-decoration-thickness:2px}
.cac-trombine-card.cac-trombine-card-arrive{animation:cac-trombine-card-arrive .38s ease-out}

@media (max-width:760px){
  .cac-trombine-card{margin:70px 4px 20px!important;padding:54px 14px 14px!important;min-height:0!important}
  .cac-trombine-card .cac-trombine-button{left:50%!important;top:-70px!important;width:72px!important;height:116px!important;transform:translateX(-50%)!important}
  .cac-trombine-card .cac-trombine-button:hover,.cac-trombine-card .cac-trombine-button:focus-visible{transform:translateX(-50%) scale(1.03)!important}
  .cac-trombine-card .cac-trombine-mascot{width:72px;height:116px}
  .cac-trombine-card .cac-trombine-card-title{font-size:18px;text-align:center}
  .cac-trombine-card .cac-trombine-card-text{text-align:center}
  .cac-trombine-card .cac-trombine-more{display:block;margin:0 auto}
}

/* 7.5.0c — phylactère et position affinée de Trombine. */
.cac-trombine-card{
  margin-top:82px!important;
  padding-left:128px!important;
}
.cac-trombine-card::before,
.cac-trombine-card::after{
  content:"";
  position:absolute;
  width:0;
  height:0;
  pointer-events:none;
  z-index:2;
}
/* Bord vert de la pointe du phylactère. */
.cac-trombine-card::before{
  left:88px;
  top:-25px;
  border-left:18px solid transparent;
  border-right:18px solid transparent;
  border-bottom:25px solid #72ad72;
  transform:rotate(-18deg);
  transform-origin:50% 100%;
}
/* Intérieur clair de la pointe. */
.cac-trombine-card::after{
  left:90px;
  top:-20px;
  border-left:16px solid transparent;
  border-right:16px solid transparent;
  border-bottom:22px solid #f3fbf0;
  transform:rotate(-18deg);
  transform-origin:50% 100%;
}
.cac-trombine-card .cac-trombine-button{
  left:20px!important;
  top:-88px!important;
}
.cac-trombine-card .cac-trombine-speech{
  position:relative;
  z-index:3;
}

@media (max-width:760px){
  .cac-trombine-card{
    margin-top:82px!important;
    padding:58px 14px 14px!important;
  }
  .cac-trombine-card::before{
    left:calc(50% + 17px);
    top:-23px;
    transform:rotate(18deg);
  }
  .cac-trombine-card::after{
    left:calc(50% + 19px);
    top:-18px;
    transform:rotate(18deg);
  }
  .cac-trombine-card .cac-trombine-button{
    top:-82px!important;
  }
}
