/* A private expedition, planned one considered choice at a time. */
#tailor-made-modal-content { max-width: 860px; border: 1px solid rgba(255,255,255,.5); }
#tailor-made-modal-content > div { padding: 48px; padding-top: 64px; }
#tailor-made-modal .tm-icon { width: 24px; height: 24px; flex: 0 0 auto; }
#tailor-made-modal .tm-progress { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; padding: 18px 0 22px; border-bottom: 1px solid #eee8e3; list-style: none; }
#tailor-made-modal .tm-progress-step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 9px; color: #92908c; }
#tailor-made-modal .tm-progress-step:not(:last-child)::after { content: ''; position: absolute; height: 1px; background: #e5dfd9; top: 22px; left: calc(50% + 28px); right: calc(-50% + 28px); }
#tailor-made-modal .tm-progress-icon { display: flex; align-items: center; justify-content: center; height: 44px; width: 44px; border: 1px solid #e9e3dd; background: #faf8f5; border-radius: 14px; transition: background .25s, color .25s, box-shadow .25s; }
#tailor-made-modal .tm-progress-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .13em; }
#tailor-made-modal .tm-progress-step.is-active { color: #D14D14; }
#tailor-made-modal .tm-progress-step.is-active .tm-progress-icon { background: #D14D14; border-color: #D14D14; color: #fff; box-shadow: 0 6px 18px rgba(209,77,20,.22); }
#tailor-made-modal .tm-progress-step.is-complete { color: #9b3d16; }
#tailor-made-modal .tm-progress-step.is-complete .tm-progress-icon { border-color: #e5b69f; background: #fff4ec; }
#tailor-made-modal .tm-progress-step.is-complete::after { background: #e5b69f; }
#tailor-made-modal [data-tm-step]:not(.hidden) { animation: tm-step-in .4s cubic-bezier(.2,.65,.25,1) both; }
#tailor-made-modal .tm-vibe { padding: 22px; min-height: 145px; border-width: 1px; border-color: #e9e3dd; border-radius: 18px; box-shadow: 0 4px 18px rgba(35,26,18,.025); }
#tailor-made-modal .tm-vibe:hover { transform: translateY(-2px); border-color: #d99c7f; }
#tailor-made-modal .tm-vibe[data-active="true"] { border-color: #D14D14; background: #fff8f2; box-shadow: 0 6px 20px rgba(209,77,20,.09); }
#tailor-made-modal .tm-vibe em { line-height: 1.65; letter-spacing: .06em; }
#tailor-made-modal .tm-party-inner { padding: 22px; min-height: 130px; border-width: 1px; border-color: #e9e3dd; gap: 7px; border-radius: 18px; }
#tailor-made-modal .tm-party-inner svg { color: #D14D14; margin-bottom: 5px; }
#tailor-made-modal .tm-party-inner em { font-size: 11px; font-style: normal; color: #78716c; }
#tailor-made-modal .tm-party-inner strong { font-size: 14px; }
#tailor-made-modal .tm-party-card:has(input:focus-visible) .tm-party-inner { outline: 2px solid #D14D14; outline-offset: 3px; }
#tailor-made-modal .tm-step-heading { display: flex; align-items: center; gap: 10px; }
#tailor-made-modal input:not([type="radio"]), #tailor-made-modal select, #tailor-made-modal textarea { border-color: #e9e3dd; background: #faf8f5; border-radius: 12px; font-weight: 500; min-width: 0; }
#tailor-made-modal input:focus, #tailor-made-modal select:focus, #tailor-made-modal textarea:focus { border-color: #D14D14; background: #fff; box-shadow: 0 0 0 3px rgba(209,77,20,.08); }
#tailor-made-modal select { padding-right: 42px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23D14D14' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
#tailor-made-modal .tm-journey-summary { display: grid; grid-template-columns: 1fr 1fr 1.5fr; gap: 16px; padding: 18px; background: #faf5ef; border: 1px solid #eee2d7; border-radius: 16px; margin-bottom: 24px; }
#tailor-made-modal .tm-journey-summary > div { display: flex; gap: 10px; align-items: center; min-width: 0; }
#tailor-made-modal .tm-journey-summary svg { color: #D14D14; width: 20px; }
#tailor-made-modal .tm-journey-summary small { display: block; text-transform: uppercase; color: #8b7b70; font-size: 8px; letter-spacing: .09em; margin-bottom: 4px; }
#tailor-made-modal .tm-journey-summary strong { display: block; font-size: 11px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
#tailor-made-nav { border-top: 1px solid #eee8e3; padding-top: 22px; }
#tailor-made-modal [data-action="tm-next"] { min-height: 50px; padding: 14px 24px; border-radius: 12px; box-shadow: 0 5px 16px rgba(209,77,20,.18); }
#tailor-made-modal [data-action="tm-back"]:not(.hidden) { display: inline-flex; align-items: center; min-height: 50px; border-radius: 12px; }
#tailor-made-modal button:focus-visible, #tailor-made-modal a:focus-visible { outline: 2px solid #D14D14; outline-offset: 4px; }
#tailor-made-modal button:disabled { cursor: wait; }
@keyframes tm-step-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 640px) {
    #tailor-made-modal { padding: 0; }
    #tailor-made-modal-content { max-height: 100dvh; min-height: 100dvh; border-radius: 0; }
    #tailor-made-modal-content > div { padding: 24px; padding-top: 74px; }
    #tailor-made-modal .tm-progress-label { font-size: 9px; letter-spacing: .07em; }
    #tailor-made-modal .tm-vibe { padding: 16px; min-height: 154px; }
    #tailor-made-modal .tm-vibe strong { font-size: 13px; }
    #tailor-made-modal .tm-party-inner { padding: 16px; min-height: 126px; }
    #tailor-made-modal .tm-journey-summary { grid-template-columns: 1fr; gap: 12px; }
    #tailor-made-step-label { display: none; }
    #tailor-made-modal [data-action="tm-next"] { padding: 14px 18px; font-size: 10px; }
    #tailor-made-modal [data-action="tm-back"] { padding: 12px 16px; font-size: 10px; }
    #tailor-made-modal input:not([type="radio"]), #tailor-made-modal select, #tailor-made-modal textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    #tailor-made-modal [data-tm-step]:not(.hidden) { animation: none; }
    #tailor-made-modal .tm-vibe:hover { transform: none; }
    #tailor-made-modal, #tailor-made-modal-content, #tailor-made-modal .tm-vibe, #tailor-made-modal .tm-progress-icon { transition: none; }
}
