/* Shared CTA palettes follow the surface behind each button. */
body.taste .t-hover-cta{--cta-bg:var(--wine);--cta-text:var(--paper);--cta-hover-bg:var(--ink);--cta-hover-text:var(--paper);position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:16px 26px;border:0!important;border-radius:14px;background:var(--cta-bg)!important;color:var(--cta-text)!important;font:650 13px/1.3 var(--display);text-transform:none;letter-spacing:0;box-shadow:none!important;transition:color 180ms ease,transform 100ms ease}
body.taste .t-hover-cta.is-secondary{--cta-bg:var(--ink);--cta-text:var(--paper);--cta-hover-bg:var(--wine);--cta-hover-text:var(--paper)}
body.taste .t-hover-cta.is-inverse{--cta-bg:var(--paper);--cta-text:var(--wine);--cta-hover-bg:#ecd3dc;--cta-hover-text:#171717}
body.taste .t-hover-cta:before{content:'';position:absolute;z-index:-1;right:24px;top:calc(50% - 7px);width:14px;height:14px;border-radius:60% 40% 55% 45%;background:var(--cta-hover-bg);transform:scale(0);transform-origin:center;transition:transform 350ms var(--motion-ease);pointer-events:none}
body.taste .t-hover-cta .t-cta-label{position:relative;color:inherit!important;transition:transform 350ms var(--motion-ease)}
body.taste .t-hover-cta .t-cta-arrow{position:relative;display:inline-block;flex:none;color:inherit!important;font-size:18px;line-height:1;transition:transform 350ms var(--motion-ease)}
body.taste .t-hover-cta:hover{transform:none}
body.taste .t-hover-cta:focus-visible{outline:3px solid var(--cta-bg);outline-offset:4px}
body.taste .t-hover-cta:is(:focus-visible,:active,.is-touch-active){color:var(--cta-hover-text)!important}
body.taste .t-hover-cta:is(:focus-visible,:active,.is-touch-active):before{transform:scale(110)}
body.taste .t-hover-cta:is(:focus-visible,:active,.is-touch-active) .t-cta-label{transform:translateX(-2px)}
body.taste .t-hover-cta:is(:focus-visible,:active,.is-touch-active) .t-cta-arrow{transform:translateX(4px)}
@media(hover:hover) and (pointer:fine){body.taste .t-hover-cta:hover{color:var(--cta-hover-text)!important}body.taste .t-hover-cta:hover:before{transform:scale(110)}body.taste .t-hover-cta:hover .t-cta-label{transform:translateX(-2px)}body.taste .t-hover-cta:hover .t-cta-arrow{transform:translateX(4px)}}
body.taste .t-hover-cta:active{transform:scale(.98)}
body.taste .t-nav .t-hover-cta{min-height:46px;padding:13px 24px;border-radius:12px;font-size:12px;gap:22px}
body.taste .t-hero .t-hover-cta{min-height:54px;padding-inline:28px;font-size:13px}
body.taste .t-hover-cta:disabled,body.taste .t-hover-cta[aria-disabled=true]{opacity:.5;cursor:default;transform:none;pointer-events:none}
body.taste .t-hover-cta:disabled:before,body.taste .t-hover-cta[aria-disabled=true]:before{transform:scale(0)}
@media(max-width:900px){body.taste .t-hover-cta{min-height:52px}body.taste .mobile-cta.t-hover-cta{display:flex}}
@media(max-width:800px){body.taste .mobile-cta.t-hover-cta{position:fixed;width:auto;min-width:0;white-space:normal;box-sizing:border-box}body.taste .mobile-cta .t-cta-label{min-width:0}}
@media(prefers-reduced-motion:reduce){body.taste .t-hover-cta,body.taste .t-hover-cta *{transition:none!important;transform:none!important}body.taste .t-hover-cta:before{display:none}body.taste .t-hover-cta:is(:focus-visible,:active,.is-touch-active){background:var(--cta-hover-bg)!important;color:var(--cta-hover-text)!important}@media(hover:hover) and (pointer:fine){body.taste .t-hover-cta:hover{background:var(--cta-hover-bg)!important;color:var(--cta-hover-text)!important}}}

/* Shared text actions use the same underline and arrow response as the hero. */
body.taste .t-motion-link{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:44px;width:fit-content;max-width:100%;padding-block:8px;border:0!important;text-decoration:none!important;opacity:1;font-weight:600;transition:opacity 220ms,translate 220ms var(--motion-ease)}
body.taste .t-motion-link:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:currentColor;opacity:.45;transform:scaleX(.25);transform-origin:left;transition:transform 220ms var(--motion-ease),opacity 220ms}
body.taste .t-motion-link .t-inline-arrow{display:inline-block;flex:none;transition:translate 220ms var(--motion-ease)}
body.taste .t-story-ending .t-story-guide{display:flex;margin-top:22px}
body.taste :is(.t-story,.t-final,.booking,.t-overlay) .t-motion-link{color:var(--paper)!important;opacity:1}
body.taste .t-motion-link:is(:focus-visible,.is-touch-active){opacity:1;translate:0 -1px}
body.taste .t-motion-link:is(:focus-visible,.is-touch-active):after{opacity:1;transform:scaleX(1)}
body.taste .t-motion-link:is(:focus-visible,.is-touch-active) .t-inline-arrow{translate:3px -3px}
@media(hover:hover) and (pointer:fine){body.taste .t-motion-link:hover{opacity:1;translate:0 -1px}body.taste .t-motion-link:hover:after{opacity:1;transform:scaleX(1)}body.taste .t-motion-link:hover .t-inline-arrow{translate:3px -3px}}
@media(prefers-reduced-motion:reduce){body.taste .t-motion-link,body.taste .t-motion-link:after,body.taste .t-motion-link .t-inline-arrow{transition:none!important;translate:none!important}}
