/* Return controls share the service palette and remain secondary to page actions. */
body .service-page a.back-link,body header nav a#home{
 display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
 min-height:44px;max-width:100%;padding:10px 17px;margin-bottom:0;
 border:1px solid #d3ddca;border-radius:14px;
 background:linear-gradient(135deg,#fafbf5,#eaf0e2);color:#49604c;
 font:500 14px/1.5 "Segoe UI","Microsoft YaHei",sans-serif;text-decoration:none;
 box-shadow:0 2px 0 #dce4d3,0 5px 14px #53684b09;
 transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
body .service-page a.back-link:focus-visible,body header nav a#home:focus-visible{outline:3px solid #a8ba98;outline-offset:4px}
@media(hover:hover){body .service-page a.back-link:hover,body header nav a#home:hover{background:linear-gradient(135deg,#f5f8ed,#e1ead7);border-color:#b9cbaa;color:#344d38;transform:translateY(-2px);box-shadow:0 3px 0 #d5dfcb,0 8px 18px #53684b12}}
body .service-page a.back-link:active,body header nav a#home:active{transform:translateY(1px);box-shadow:none}
@media(max-width:600px){body .service-page a.back-link,body header nav a#home{padding:10px 13px;font-size:13px;border-radius:12px}}
@media(prefers-reduced-motion:reduce){body .service-page a.back-link,body header nav a#home{transition:none;transform:none}}

/* Shared action palette for the main site and visitor service pages. */
:root{--action-bg:#d4e4d8;--action-hover:#bfd6c5;--action-ink:#294e3d;--action-border:#a5c1ad;--action-focus:#648c73}
body :is(.cover-clean,.service-page,.journey-page,.journey-memory) .service-action,body .cover-clean .alternatives-action,body .visit-extra button,body .visit-extra .visit-link,body .cover-clean .route-switch,body .button.outline,body .journey-actions .service-action{
 background:var(--action-bg);color:var(--action-ink);border:1px solid var(--action-border);box-shadow:none;
}
body :is(.cover-clean,.service-page,.journey-page,.journey-memory) .service-action:hover,body .alternatives-heading:hover .alternatives-action,body .visit-extra button:hover,body .visit-extra .visit-link:hover,body .cover-clean .route-switch:hover,body .button.outline:hover{
 background:var(--action-hover);color:var(--action-ink);border-color:#87ac92;
}
body .phase-tab.active,body .discover-tab.active,body :is(.cover-clean,.service-page,.journey-page,.journey-memory) .service-action[aria-pressed="true"],body .journey-page .journey-stage.active{
 background:var(--action-hover);color:var(--action-ink);border-color:#87ac92;box-shadow:none;
}
body :is(.cover-clean,.service-page,.journey-page,.journey-memory) .service-action:focus-visible,body .alternatives-heading:focus-visible,body .visit-extra button:focus-visible,body .cover-clean .route-switch:focus-visible,body .button:focus-visible{
 outline:3px solid var(--action-focus);outline-offset:3px;
}
body :is(.cover-clean,.service-page,.journey-page,.journey-memory) .service-action:disabled,body .visit-extra button:disabled{background:#e6e9e1;color:#738174;border-color:#ccd4c9;cursor:not-allowed;box-shadow:none}
/* Keep destructive actions distinct from ordinary navigation. */
body .photo-card [data-delete]{background:#f5e2d8;color:#854b38;border-color:#dbb8a5}
body .photo-card [data-delete]:hover{background:#ecd0c0;color:#743b29}

/* Main-site controls: light sage actions, cream secondary controls, champagne selection. */
body.cover-clean{--action-bg:#edf2e7;--action-hover:#e5eedd;--action-ink:#425c48;--action-border:#c7d4bc;--action-focus:#9eaf87}
body.cover-clean :is(button,.button,.service-action,.route-switch,.alternatives-action,.visit-link){border-radius:12px;border:1px solid #d8dfcf;background:#fffdf7;color:#52644b;box-shadow:0 3px 0 #e0e6d7,0 5px 12px #6b82650b;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;cursor:pointer}
body.cover-clean :is(.button.primary,button[type=submit],.service-action,.route-switch){background:linear-gradient(135deg,#edf2e7,#dfe9d6);color:#425c48;border-color:#becfb4;box-shadow:0 3px 0 #cedac4,0 8px 18px #6b826518;font-weight:650}
body.cover-clean :is(.phase-tab.active,.discover-tab.active,button[aria-pressed=true],button[aria-selected=true]){background:linear-gradient(135deg,#f6eedf,#ede2cc);border-color:#cbbb99;color:#685a42;box-shadow:0 3px 0 #dfd2b8}
body.cover-clean :is(button,.button,.service-action,.route-switch,.alternatives-action,.visit-link):focus-visible{outline:3px solid #b3bf9d;outline-offset:4px}
@media(hover:hover){
 body.cover-clean :is(button,.button,.service-action,.route-switch,.alternatives-action,.visit-link):not(:disabled):not([aria-disabled=true]):hover{background:linear-gradient(135deg,#f5f7ef,#e8efde);border-color:#b8c9a8;color:#425c48;transform:translateY(-2px);box-shadow:0 5px 0 #d5dfcb,0 10px 18px #6b826518}
 body.cover-clean :is(.phase-tab.active,.discover-tab.active,button[aria-pressed=true],button[aria-selected=true]):hover{background:linear-gradient(135deg,#faf3e7,#f0e6d2);border-color:#cbbb99;color:#685a42;box-shadow:0 5px 0 #dfd2b8}
}
body.cover-clean :is(button,.button,.service-action,.route-switch,.alternatives-action,.visit-link):not(:disabled):not([aria-disabled=true]):active{transform:translateY(2px);box-shadow:none}
body.cover-clean :is(button,.button,.service-action):is(:disabled,[aria-disabled=true]){background:#efefe8;color:#92998a;border-color:#dfe3d7;box-shadow:none;cursor:not-allowed;transform:none}
body.cover-clean :is(.button,.service-action,.route-switch,.phase-tab,.discover-tab,button[type=submit]){min-height:44px}
@media(prefers-reduced-motion:reduce){body.cover-clean :is(button,.button,.service-action,.route-switch,.alternatives-action,.visit-link){transition:none}body.cover-clean :is(button,.button,.service-action,.route-switch,.alternatives-action,.visit-link):hover{transform:none}}

body.cover-clean #plannerForm>.button{background:linear-gradient(135deg,#edf2e7,#dfe9d6);color:#425c48;border:1px solid #becfb4;box-shadow:0 3px 0 #cedac4,0 8px 18px #6b826518}
@media(hover:hover){body.cover-clean #plannerForm>.button:not(:disabled):hover{background:linear-gradient(135deg,#f5f7ef,#e8efde);border-color:#b8c9a8;box-shadow:0 5px 0 #d5dfcb,0 10px 18px #6b826518}}
body.cover-clean #plannerForm>.button:not(:disabled):active{box-shadow:none}
body.cover-clean #plannerForm>.button:disabled{background:#efefe8;color:#92998a;border-color:#dfe3d7;box-shadow:none}

/* Align the two discovery actions at the same baseline and height. */
body.cover-clean #discover .discover-companion-tabs .discover-tab{top:0;min-height:52px;height:auto;padding:13px 18px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#edf2e7,#dfe9d6);color:#425c48;border:1px solid #becfb4;box-shadow:0 3px 0 #cedac4,0 8px 18px #6b826518;text-decoration:none}
body.cover-clean #discover .discover-companion-tabs .discover-tab.active{background:linear-gradient(135deg,#f6eedf,#ede2cc);border-color:#cbbb99;color:#685a42;box-shadow:0 3px 0 #dfd2b8;text-decoration:none}
@media(hover:hover){body.cover-clean #discover .discover-companion-tabs .discover-tab:hover{transform:translateY(-2px);background:linear-gradient(135deg,#f4f7ee,#e5eedd);border-color:#b8c9a8;color:#425c48;box-shadow:0 5px 0 #d5dfcb,0 10px 18px #6b826518}}
body.cover-clean #discover .discover-companion-tabs .discover-tab:active{transform:translateY(2px);box-shadow:none}
/* Native main-system service pages only; independent systems are not included. */
body.rj-soft-controls:not(.gifts-page) :is(button,.button,.service-action,.visit-link){background:linear-gradient(135deg,#f8faf3,#e8efde);color:#425c48;border:1px solid #c7d4bc;border-radius:12px;box-shadow:0 3px 0 #dce4d3,0 6px 14px #6b826510;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;cursor:pointer}
body.rj-soft-controls :is(.service-navigation button[aria-pressed=true],.service-navigation a[aria-current=page]),body.rj-soft-controls:not(.gifts-page) :is(button[aria-pressed=true],button.active,.button.active){background:linear-gradient(135deg,#f6eedf,#ede2cc);border-color:#cbbb99;color:#685a42;box-shadow:0 3px 0 #dfd2b8}
body.rj-soft-controls .service-navigation a{background:#fffdf7;color:#52644b;border:1px solid #d8dfcf;border-radius:12px;box-shadow:0 3px 0 #e0e6d7;transition:transform .18s ease,box-shadow .18s ease}
@media(hover:hover){body.rj-soft-controls:not(.gifts-page) :is(button,.button,.service-action,.visit-link):not(:disabled):hover,body.rj-soft-controls .service-navigation :is(a,button):hover{background:linear-gradient(135deg,#f5f7ef,#e8efde);color:#425c48;border-color:#b8c9a8;transform:translateY(-2px);box-shadow:0 5px 0 #d5dfcb,0 10px 18px #6b826518}}
body.rj-soft-controls:not(.gifts-page) :is(button,.button,.service-action,.visit-link):not(:disabled):active,body.rj-soft-controls .service-navigation :is(a,button):active{transform:translateY(2px);box-shadow:none}
body.rj-soft-controls :is(button,.button,.service-action,.service-navigation a):focus-visible{outline:3px solid #b3bf9d;outline-offset:4px}
body.rj-soft-controls:not(.gifts-page) :is(button,.button,.service-action):is(:disabled,[aria-disabled=true]){background:#efefe8;color:#92998a;border-color:#dfe3d7;box-shadow:none;cursor:not-allowed;transform:none}
body.rj-soft-controls .photo-card [data-delete]{background:#f6e9df;color:#855e4b;border-color:#e1cbbb}
@media(prefers-reduced-motion:reduce){body.rj-soft-controls :is(button,.button,.service-action,.visit-link,.service-navigation a){transition:none}body.rj-soft-controls :is(button,.button,.service-action,.visit-link,.service-navigation a):hover,body.cover-clean #discover .discover-companion-tabs .discover-tab:hover{transform:none}}

/* Food/place actions: equal insets, centered label and arrow, consistent card baseline. */
body.cover-clean #discover .discover-grid .service-card-body{display:flex;flex:1;flex-direction:column;gap:16px}
body.cover-clean #discover .discover-grid .service-card-body>p{margin:0}
body.cover-clean #discover .discover-grid .service-tags{margin-top:0}
body.cover-clean #discover .discover-grid .service-more{display:flex;align-items:center;justify-content:space-between;gap:16px;box-sizing:border-box;width:100%;min-height:48px;margin-top:auto;padding:12px 16px;line-height:1.5;text-align:left}
body.cover-clean #discover .discover-grid .service-more>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;line-height:1;font-size:18px;margin:0;padding:0}
@media(max-width:600px){body.cover-clean #discover .discover-grid .service-more{padding:11px 14px}}

/* Discovery cards keep only title, short introduction and a single action. */
body.cover-clean :is(.day-meal-card,.day-spot-card,a.service-card){transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
body.cover-clean .service-more>span{transition:transform .22s ease}
@media(hover:hover){body.cover-clean :is(.day-meal-card,.day-spot-card,a.service-card):not(:disabled):hover{transform:translateY(-3px);box-shadow:0 10px 24px #344b381a}body.cover-clean .service-more:hover>span{transform:translate(2px,-2px)}}
body.cover-clean :is(.day-meal-card,.day-spot-card,a.service-card):not(:disabled):active{transform:translateY(1px);box-shadow:none}
@media(prefers-reduced-motion:reduce){body.cover-clean :is(.day-meal-card,.day-spot-card,a.service-card),body.cover-clean .service-more>span{transition:none}body.cover-clean :is(.day-meal-card,.day-spot-card,a.service-card):is(:hover,:active),body.cover-clean .service-more:hover>span{transform:none}}
body.cover-clean #discover .discover-grid .service-card-body{padding:22px 24px 24px;gap:16px}
body.cover-clean #discover .discover-grid .service-card-body>h3{margin:0;line-height:1.5}
body.cover-clean #discover .discover-grid .service-card-body>p{margin:0 0 4px;line-height:1.8}
@media(max-width:600px){body.cover-clean #discover .discover-grid .service-card-body{padding:18px 20px 22px;gap:14px}}
