/* Voyara Trip builder */
.vy-trip{display:flex;flex-direction:column;gap:32px}
.vy-trip__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.vy-trip__intro{display:flex;flex-direction:column;gap:10px;max-width:640px}
.vy-trip__eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--vy-label,var(--vy-accent,#C9962B))}
.vy-trip__title{margin:0;font-family:var(--vy-font-heading,Marcellus,Georgia,serif);font-weight:400;font-size:44px;line-height:1.1;color:var(--vy-ink,#15201F)}
.vy-trip__text{margin:0;font-size:16px;line-height:1.6;color:var(--vy-muted,#5C6664)}
.vy-trip__tabs{display:flex;gap:6px;flex-wrap:wrap;padding:6px;border:1px solid var(--vy-line,#E6E1D8);border-radius:999px;background:var(--vy-bg,#fff)}
.vy-trip__tabs button{height:40px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--vy-ink-2,#2C3534);font:500 14px var(--vy-font-body,Jost,sans-serif);cursor:pointer;transition:background-color .2s ease,color .2s ease}
.vy-trip__tabs button:hover{color:var(--vy-main,#0E3B36)}
.vy-trip__tabs button[aria-selected=true]{background:var(--vy-main,#0E3B36);color:var(--vy-on-main,#fff)}
.vy-trip__tabs button:focus-visible{outline:2px solid var(--vy-accent,#C9962B);outline-offset:2px}
.vy-trip__panel{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:40px;align-items:start}
.vy-trip__panel[hidden]{display:none}

/* Parts: a numbered column with a line down to the next part. */
.vy-trip__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.vy-trip__row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;position:relative}
.vy-trip__row:not(:last-child)::before{content:"";position:absolute;left:22px;top:52px;bottom:-16px;width:1px;background:var(--vy-line,#E6E1D8)}
.vy-trip__num{width:44px;height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;background:var(--vy-main,#0E3B36);color:var(--vy-on-main,#fff);transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.vy-trip__row.is-off .vy-trip__num{background:var(--vy-bg,#fff);color:var(--vy-muted,#5C6664);border:1px solid var(--vy-line,#E6E1D8)}
.vy-trip__card{display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:20px;padding:14px 20px 14px 14px;border-radius:22px;background:var(--vy-bg,#fff);border:1px solid var(--vy-line,#E6E1D8);transition:opacity .2s ease,border-color .2s ease}
.vy-trip__row.is-off .vy-trip__card{opacity:.55;border-color:var(--vy-sand,#F3EEE4)}
.vy-trip__img{position:relative;display:block;height:152px;border-radius:16px;overflow:hidden;background:var(--vy-sand,#F3EEE4)}
.vy-trip__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.vy-trip__card:hover .vy-trip__img img{transform:scale(1.04)}
.vy-trip__body{display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0}
.vy-trip__tag{align-self:flex-start;display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:var(--vy-sand,#F3EEE4);font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--vy-main,#0E3B36)}
.vy-trip__name{margin:0;font-family:var(--vy-font-heading,Marcellus,Georgia,serif);font-weight:400;font-size:23px;line-height:1.2}
.vy-trip__name a{color:var(--vy-ink,#15201F);text-decoration:none;transition:color .2s ease}
.vy-trip__name a:hover{color:var(--vy-main,#0E3B36)}
.vy-trip__meta{font-size:14px;color:var(--vy-muted,#5C6664)}
.vy-trip__each{font-size:15px;color:var(--vy-ink,#15201F)}
.vy-trip__each strong{font-weight:600}
.vy-trip__each span,.vy-trip__detail{color:var(--vy-muted,#5C6664)}
.vy-trip__problem{font-size:14px;line-height:1.5;color:var(--vy-error,#B42318)}
.vy-trip__side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:12px}
.vy-trip__line{font-family:var(--vy-font-heading,Marcellus,Georgia,serif);font-size:22px;color:var(--vy-ink,#15201F)}
.vy-trip__row.is-off .vy-trip__line{text-decoration:line-through;color:var(--vy-muted,#5C6664)}
.vy-trip__na{font-size:14px;font-weight:500;color:var(--vy-muted,#5C6664)}
.vy-trip__toggle{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border:1px solid var(--vy-sand,#F3EEE4);border-radius:999px;background:var(--vy-sand,#F3EEE4);color:var(--vy-main,#0E3B36);font:500 14px var(--vy-font-body,Jost,sans-serif);cursor:pointer;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.vy-trip__toggle:hover{border-color:var(--vy-main,#0E3B36)}
.vy-trip__toggle[aria-pressed=false]{background:var(--vy-bg,#fff);border-color:var(--vy-main,#0E3B36)}
.vy-trip__toggle[aria-pressed=false] svg{display:none}
.vy-trip__toggle:focus-visible{outline:2px solid var(--vy-accent,#C9962B);outline-offset:2px}

/* Summary: stays in view beside the parts. */
.vy-trip__sum{position:sticky;top:calc(24px + var(--vy-head-offset,0px) + var(--wp-admin--admin-bar--height,0px));transition:top .3s ease;display:flex;flex-direction:column;gap:18px;padding:28px;border:1px solid var(--vy-line,#E6E1D8);border-radius:28px;background:var(--vy-bg,#fff);box-shadow:0 18px 40px rgba(21,32,31,.06)}
.vy-trip__sumhead{display:flex;flex-direction:column;gap:4px}
.vy-trip__sumtitle{font-family:var(--vy-font-heading,Marcellus,Georgia,serif);font-size:30px;line-height:1.15;color:var(--vy-ink,#15201F)}
.vy-trip__dates{font-size:14px;color:var(--vy-muted,#5C6664)}
.vy-trip__lines{display:flex;flex-direction:column;gap:12px;padding:16px 0;border-top:1px solid var(--vy-sand,#F3EEE4);border-bottom:1px solid var(--vy-sand,#F3EEE4)}
.vy-trip__lines:empty{display:none}
.vy-trip__lrow{display:flex;justify-content:space-between;gap:16px;font-size:15px}
.vy-trip__lname{display:flex;flex-direction:column;min-width:0}
.vy-trip__lname b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vy-trip__lname small{font-size:13px;color:var(--vy-muted,#5C6664)}
.vy-trip__lamt{font-weight:500;white-space:nowrap}
.vy-trip__empty{margin:0;padding:16px 0;border-top:1px solid var(--vy-sand,#F3EEE4);border-bottom:1px solid var(--vy-sand,#F3EEE4);font-size:14px;color:var(--vy-muted,#5C6664)}
.vy-trip__totals{margin:0;display:flex;flex-direction:column;gap:8px;font-size:15px}
.vy-trip__totals>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.vy-trip__totals dt{color:var(--vy-muted,#5C6664)}
.vy-trip__totals dd{margin:0}
.vy-trip__save.is-on dd{color:var(--vy-main,#0E3B36);font-weight:500}
.vy-trip__total{margin-top:6px}
.vy-trip__total dt{color:var(--vy-ink,#15201F);font-weight:500}
.vy-trip__total dd{font-family:var(--vy-font-heading,Marcellus,Georgia,serif);font-size:34px;color:var(--vy-ink,#15201F)}
.vy-trip__add{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;border:0;border-radius:999px;background:var(--vy-main,#0E3B36);color:var(--vy-on-main,#fff);font:500 16px var(--vy-font-body,Jost,sans-serif);cursor:pointer;transition:background-color .2s ease,opacity .2s ease}
.vy-trip__add:hover{background:var(--vy-main-hover,var(--vy-ink,#15201F))}
.vy-trip__add:disabled{opacity:.5;cursor:not-allowed}
.vy-trip__add[aria-busy=true]{cursor:progress}
.vy-trip__add:focus-visible{outline:2px solid var(--vy-accent,#C9962B);outline-offset:2px}
.vy-trip__msg{margin:-6px 0 0;font-size:14px;line-height:1.5;color:var(--vy-muted,#5C6664)}
.vy-trip__msg:empty{display:none}
.vy-trip__msg.is-error{color:var(--vy-error,#B42318)}
.vy-trip__cancel{margin:0;display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--vy-muted,#5C6664)}
.vy-trip__cancel svg{flex:0 0 auto;margin-top:2px;color:var(--vy-main,#0E3B36)}
.vy-trip__cancel[hidden]{display:none}
.vy-trip__none{padding:24px;border:1px dashed var(--vy-line,#E6E1D8);border-radius:16px;color:var(--vy-muted,#5C6664)}

@media (max-width:1100px){
	.vy-trip__panel{grid-template-columns:1fr}
	.vy-trip__sum{position:static}
}
@media (max-width:767px){
	.vy-trip__title{font-size:34px}
	.vy-trip__row{grid-template-columns:32px minmax(0,1fr);gap:10px}
	.vy-trip__row:not(:last-child)::before{left:16px;top:40px}
	.vy-trip__num{width:32px;height:32px;font-size:14px}
	.vy-trip__card{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:10px}
	.vy-trip__img{height:96px;border-radius:12px}
	.vy-trip__name{font-size:19px}
	.vy-trip__side{grid-column:1/-1;flex-direction:row;align-items:center}
	.vy-trip__sum{padding:22px;border-radius:22px}
}
@media (prefers-reduced-motion:reduce){.vy-trip__img img,.vy-trip__card,.vy-trip__toggle,.vy-trip__num{transition:none}}
