/* Parcours de commande et d’accès — Escapade Quiberon - Carnac */
.kce-button--disabled,
.kce-button--disabled:hover{
  cursor:not-allowed;
  pointer-events:none;
  transform:none;
  background:#899892;
  color:#f4f6f5;
  opacity:.9;
}

.kce-access-link{
  display:block;
  margin-top:14px;
  color:#0a6655;
  font-size:.82rem;
  font-weight:800;
  text-align:center;
  text-underline-offset:4px;
}

.kce-commerce-page main{
  min-height:calc(100vh - 250px);
  background:#f7f3eb;
}

.kce-commerce-breadcrumb{
  border-bottom:1px solid var(--kce-line);
  background:#eef8f4;
}

.kce-commerce-breadcrumb .kce-shell{
  padding-block:13px;
  color:#5f746d;
  font-size:.78rem;
}

.kce-commerce-breadcrumb a{text-decoration:none}

.kce-commerce-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(310px,.64fr);
  gap:38px;
  align-items:start;
  padding-block:64px 82px;
}

.kce-commerce-layout--single{
  display:block;
  width:min(760px,calc(100% - 42px));
}

.kce-commerce-heading{margin-bottom:28px}
.kce-commerce-heading .kce-kicker{color:#187e69}
.kce-commerce-heading h1{
  max-width:760px;
  margin:0;
  color:var(--kce-deep);
  font-size:clamp(2.7rem,5vw,4.6rem);
  line-height:1;
  letter-spacing:-.045em;
}
.kce-commerce-heading>p:last-child{
  max-width:720px;
  margin:18px 0 0;
  color:var(--kce-muted);
  line-height:1.7;
}

.kce-commerce-card{
  border:1px solid var(--kce-line);
  border-radius:22px;
  padding:30px;
  background:#fff;
  box-shadow:0 18px 46px rgba(7,60,50,.08);
}

.kce-commerce-card h2,
.kce-commerce-card h3{
  margin:0;
  color:var(--kce-deep);
}
.kce-commerce-card h2{font-size:1.65rem}
.kce-commerce-card h3{font-size:1.18rem}
.kce-commerce-card>p{
  color:var(--kce-muted);
  line-height:1.65;
}

.kce-order-summary{
  position:sticky;
  top:95px;
  overflow:hidden;
  padding:0;
}
.kce-order-summary-image{
  min-height:205px;
  background:
    linear-gradient(0deg,rgba(4,43,36,.56),rgba(4,43,36,.04)),
    url('/assets/images/itineraires/bretagne-sud-7-jours/quiberon-cote-sauvage-hero.webp') center 58%/cover no-repeat;
}
.kce-order-summary-copy{padding:25px}
.kce-order-summary-copy small{
  color:#187e69;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.kce-order-summary-copy h2{margin-top:8px;font-size:1.7rem}
.kce-order-summary-copy>p{margin:10px 0 0}
.kce-order-total{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--kce-line);
  color:var(--kce-deep);
  font-weight:900;
}
.kce-order-total strong{font-size:1.25rem}
.kce-order-facts{
  display:grid;
  gap:9px;
  margin:18px 0 0;
  padding:0;
  list-style:none;
  color:var(--kce-muted);
  font-size:.82rem;
}
.kce-order-facts li{position:relative;padding-left:23px;line-height:1.45}
.kce-order-facts li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#187e69;
  font-weight:900;
}

.kce-field{display:grid;gap:8px;margin-top:23px}
.kce-field label{color:var(--kce-deep);font-size:.88rem;font-weight:900}
.kce-field input{
  width:100%;
  min-height:52px;
  border:1px solid #aebfba;
  border-radius:12px;
  padding:0 15px;
  background:#fff;
  color:var(--kce-ink);
  font:inherit;
}
.kce-field input:focus{
  border-color:#187e69;
  outline:3px solid rgba(24,126,105,.17);
}
.kce-field input[name="order_reference"]{text-transform:uppercase}
.kce-field small{color:#6d7f79;line-height:1.45}

.kce-privacy-notice{
  margin:16px 0 0;
  color:#657a73;
  font-size:.76rem;
  line-height:1.55;
}
.kce-privacy-notice a{color:#0c725f;text-underline-offset:3px}

.kce-consents{
  display:grid;
  gap:13px;
  min-inline-size:0;
  margin:27px 0 0;
  padding:22px;
  border:1px solid var(--kce-line);
  border-radius:15px;
  background:#f8fbf9;
}
.kce-consents>legend{
  margin:0 0 2px;
  padding:0 5px;
  color:var(--kce-deep);
  font-size:.86rem;
  font-weight:900;
}
.kce-check{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:10px;
  align-items:start;
  color:#4f6760;
  font-size:.8rem;
  line-height:1.52;
}
.kce-check input{
  width:18px;
  height:18px;
  margin:2px 0 0;
  accent-color:#187e69;
}
.kce-check a{color:#0c725f;text-underline-offset:3px}
.kce-withdrawal-note{
  margin:2px 0 0;
  padding-top:13px;
  border-top:1px solid var(--kce-line);
  color:#657a73;
  font-size:.76rem;
  line-height:1.55;
}
.kce-withdrawal-note a{color:#0c725f;text-underline-offset:3px}

.kce-payment-button{
  width:100%;
  min-height:57px;
  margin-top:22px;
  border:0;
  border-radius:999px;
  padding:10px 22px;
  background:var(--kce-copper);
  color:#fff;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.kce-payment-button:hover{background:var(--kce-copper-dark)}
.kce-payment-button:focus-visible{outline:3px solid #187e69;outline-offset:3px}
.kce-payment-button:disabled{cursor:not-allowed;background:#899892}
.kce-payment-note{
  margin:12px 0 0;
  color:#74847f;
  font-size:.72rem;
  line-height:1.5;
  text-align:center;
}

.kce-message{
  display:grid;
  gap:4px;
  margin:20px 0 0;
  border:1px solid #bddfd4;
  border-radius:13px;
  padding:15px 17px;
  background:#eef8f4;
  color:#486c61;
  font-size:.83rem;
  line-height:1.5;
}
.kce-message strong{color:var(--kce-deep)}
.kce-message[data-state="error"]{border-color:#e4b8ad;background:#fff1ed;color:#7b4438}
.kce-message[data-state="error"] strong{color:#7b3426}
.kce-message[data-state="loading"]{border-color:#c8d8d2;background:#f4f7f6}
.kce-message[hidden],
[data-sales-closed][hidden],
[data-order-action][hidden],
[data-order-access-recovery][hidden]{display:none!important}

.kce-sales-closed{
  margin-bottom:20px;
  border-left:4px solid var(--kce-copper);
  border-radius:12px;
  padding:16px 18px;
  background:#fff1e9;
  color:#6e4b3d;
  line-height:1.55;
}
.kce-sales-closed strong{display:block;color:#6a3526}

.kce-status-card{
  position:relative;
  overflow:hidden;
  padding:38px;
  text-align:center;
}
.kce-status-icon{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  margin:0 auto 21px;
  border-radius:50%;
  background:#dff5ed;
  color:#14715e;
  font-size:1.6rem;
  font-weight:900;
}
.kce-status-card[data-state="loading"] .kce-status-icon::before,
.kce-status-card[data-state="pending"] .kce-status-icon::before{content:"…"}
.kce-status-card[data-state="success"] .kce-status-icon::before{content:"✓"}
.kce-status-card[data-state="info"] .kce-status-icon::before{content:"i"}
.kce-status-card[data-state="error"] .kce-status-icon::before{content:"!"}
.kce-status-card[data-state="error"] .kce-status-icon{background:#fff0ec;color:#a34b34}
.kce-status-card h1{
  margin:0;
  color:var(--kce-deep);
  font-size:clamp(2.2rem,5vw,3.55rem);
  line-height:1.02;
  letter-spacing:-.035em;
}
.kce-status-card>p{
  max-width:590px;
  margin:16px auto 0;
}
.kce-status-card .kce-button{margin-top:24px}
.kce-status-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:18px;
  margin-top:25px;
  font-size:.82rem;
  font-weight:800;
}
.kce-status-links a{color:#0c725f;text-underline-offset:4px}

.kce-access-form{max-width:590px;margin:25px auto 0;text-align:left}
.kce-access-form .kce-field:first-child{margin-top:0}
.kce-access-help{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid var(--kce-line);
  color:var(--kce-muted);
  font-size:.82rem;
  line-height:1.55;
}

:root[data-theme="dark"] .kce-access-link{color:#9de6d1}
:root[data-theme="dark"] .kce-commerce-page main{background:#17231f}
:root[data-theme="dark"] .kce-commerce-breadcrumb{border-color:#34483f;background:#101b17}
:root[data-theme="dark"] .kce-commerce-breadcrumb .kce-shell,
:root[data-theme="dark"] .kce-commerce-heading>p:last-child{color:#a8b9b2}
:root[data-theme="dark"] .kce-commerce-heading h1,
:root[data-theme="dark"] .kce-commerce-card h2,
:root[data-theme="dark"] .kce-commerce-card h3,
:root[data-theme="dark"] .kce-field label,
:root[data-theme="dark"] .kce-consents>legend,
:root[data-theme="dark"] .kce-order-total,
:root[data-theme="dark"] .kce-message strong,
:root[data-theme="dark"] .kce-status-card h1{color:#e8f0ed}
:root[data-theme="dark"] .kce-commerce-card{border-color:#34483f;background:#101c18;color:#e1ebe7}
:root[data-theme="dark"] .kce-commerce-card>p,
:root[data-theme="dark"] .kce-order-facts,
:root[data-theme="dark"] .kce-field small,
:root[data-theme="dark"] .kce-privacy-notice,
:root[data-theme="dark"] .kce-access-help{color:#a8b9b2}
:root[data-theme="dark"] .kce-order-total,
:root[data-theme="dark"] .kce-access-help{border-color:#34483f}
:root[data-theme="dark"] .kce-field input{border-color:#527066;background:#172620;color:#eef5f2}
:root[data-theme="dark"] .kce-consents{border-color:#34483f;background:#14231e}
:root[data-theme="dark"] .kce-check{color:#b4c4be}
:root[data-theme="dark"] .kce-check a,
:root[data-theme="dark"] .kce-privacy-notice a,
:root[data-theme="dark"] .kce-withdrawal-note a,
:root[data-theme="dark"] .kce-status-links a{color:#9de6d1}
:root[data-theme="dark"] .kce-withdrawal-note{border-color:#34483f;color:#a8b9b2}
:root[data-theme="dark"] .kce-message{border-color:#396556;background:#153028;color:#bdd3cb}
:root[data-theme="dark"] .kce-message[data-state="error"]{border-color:#73483e;background:#2b1d19;color:#e0b5aa}
:root[data-theme="dark"] .kce-message[data-state="error"] strong{color:#f0c0b5}
:root[data-theme="dark"] .kce-message[data-state="loading"]{border-color:#40564e;background:#182620}
:root[data-theme="dark"] .kce-sales-closed{background:#2b211b;color:#d6b9ab}
:root[data-theme="dark"] .kce-sales-closed strong{color:#f0c0ad}
:root[data-theme="dark"] .kce-status-icon{background:#153b30;color:#9de6d1}

@media(max-width:900px){
  .kce-commerce-layout{grid-template-columns:1fr;padding-block:48px 68px}
  .kce-order-summary{position:static}
  .kce-order-summary-image{min-height:245px}
}

@media(max-width:720px){
  .kce-commerce-layout--single{width:min(100% - 30px,760px)}
  .kce-commerce-layout{gap:25px;padding-block:38px 58px}
  .kce-commerce-heading h1{font-size:clamp(2.45rem,12vw,3.35rem)}
  .kce-commerce-card{border-radius:18px;padding:23px 20px}
  .kce-order-summary{padding:0}
  .kce-order-summary-image{min-height:205px}
  .kce-order-summary-copy{padding:22px 20px}
  .kce-consents{padding:18px 16px}
  .kce-status-card{padding:30px 21px}
  .kce-status-card .kce-button{width:100%}
}
