/* Flarum owns the theme. This file contains shared application components only. */
:root {
  --dcl-food-blue:var(--primary-color,#4d698e);
  --dcl-food-soft:var(--control-bg,#e8ecf3);
  --dcl-food-line:var(--control-bg,#e8ecf3);
  --dcl-food-text:var(--text-color,#53657b);
  --dcl-heart-color:#c62828;--dcl-star-color:#ffd54f;
  --dcl-food-star-on:var(--dcl-star-color);--dcl-food-star-off:var(--muted-color,#8c99ab);
  --dcl-food-muted:var(--muted-color,#8c99ab);
  --shore-panel:var(--body-bg,#fff);--shore-text:var(--text-color,#53657b);
  --shore-muted:var(--muted-color,#8c99ab);--shore-line:var(--control-bg,#e8ecf3);
  --shore-accent:var(--primary-color,#4d698e);
  --navy:var(--primary-color,#4d698e);--ink:var(--text-color,#53657b);
  --muted:var(--muted-color,#8c99ab);--line:var(--control-bg,#e8ecf3);
  --bg:var(--body-bg,#fff);--card:var(--body-bg,#fff);
}
.dcl-ui-page { margin:0;padding:0;overflow:visible;background:var(--body-bg);color:var(--text-color); }
.dcl-ui-page *, .dcl-ui * { box-sizing:border-box; }
.dcl-ui :where(h1,h2,h3,p), .dcl-ui-page :where(h1,h2,h3,p) { color:inherit; }
.dcl-ui :where(h1,h2,h3), .dcl-ui-page :where(h1,h2,h3) { font-weight:600;line-height:1.35; }
.dcl-ui h1 {font-size:22px;} .dcl-ui h2 {font-size:20px;} .dcl-ui h3 {font-size:16px;}
.dcl-ui :where(small), .dcl-ui-page :where(.meta,.progress-text,.label) {color:var(--muted-color);font-size:12px;}
.dcl-ui :where(button), .dcl-ui-page :where(button,a.btn) {cursor:pointer;}
.dcl-ui :where(button:disabled), .dcl-ui-page :where(button:disabled) {opacity:.5;cursor:default;}
.dcl-ui :where(input,select,textarea):focus-visible, .dcl-ui-page :where(input,select,textarea):focus-visible {outline:2px solid var(--primary-color);outline-offset:2px;}
.dcl-ui :where(.is-on,.is-active) {color:var(--primary-color);}
.dcl-ui :where(.dcl-food-restaurant,.dcl-food-menu-card,.shore-list-card),
.dcl-ui-page :where(.discussion,.panel,.post) {background:var(--body-bg);color:var(--text-color);border:0;border-bottom:1px solid var(--control-bg);border-radius:0;box-shadow:none;}
.dcl-ui-page > main {width:100%;max-width:1170px;margin:0 auto;padding:16px;}
#foodView,#dclFoodRoot .dcl-food-shell {margin:0;padding:0;max-width:none;border:0;}
.dcl-food-restaurant-open {background:transparent;color:inherit;border:0;text-align:left;font:inherit;}
.dcl-food-restaurant-copy strong {color:var(--primary-color);font-size:16px;font-weight:600;}
.dcl-food-restaurant-copy :where(span,small) {color:var(--muted-color);}
.dcl-food-menu-description {font-size:14px;line-height:1.6;}
.dcl-food-menu-media {background:var(--control-bg);color:var(--text-color);touch-action:pan-y;cursor:grab;}
.dcl-food-photo-add,.dcl-food-favorite {background:rgba(0,0,0,.5);color:white;border:0;border-radius:50%;font-size:28px;}
.dcl-food-gallery-arrow {background:transparent;color:white;border:0;border-radius:0;font-size:56px;font-weight:300;text-shadow:0 1px 4px rgba(0,0,0,.7);}
.dcl-food-gallery-dots {gap:4px;}
.dcl-food-gallery-dot {width:7px;height:7px;min-width:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);}
.dcl-food-gallery-dot.is-active {background:white;}
.dcl-food-menu-overlay {background:rgba(0,0,0,.65);color:white;border-radius:4px;font-size:14px;}
.dcl-food-stars,.dcl-food-star,.shore-rating-stars,.shore-star {color:var(--dcl-star-color);}
.dcl-food-star-part.is-empty,.shore-star.is-empty {color:var(--muted-color);}
.dcl-food-star-part.is-half::after,.shore-star.is-half::after {color:var(--dcl-star-color);}
.dcl-food-heart-icon {width:24px;height:24px;}
.dcl-food-favorite.is-active {color:var(--dcl-heart-color);background:var(--body-bg);}
.dcl-food-favorite:not(.is-active) svg path {fill:none;stroke:currentColor;stroke-width:1.8;}
.dcl-offline-page .panel {padding:12px 0;margin:0 0 12px;}
.dcl-offline-page .discussion {padding:16px 0;margin:0;}
.dcl-offline-page .discussion h2 {color:var(--text-color);font-size:16px;font-weight:600;}
.dcl-offline-page .post {padding:16px 0;margin:0;}
.dcl-offline-page .post-body {line-height:1.7;font-size:15px;}
.dcl-offline-page :where(input[type="search"],#tagFilter) {width:100%;}
.dcl-offline-page :where(.badge,.tag) {background:var(--control-bg);color:var(--control-color);border-radius:var(--border-radius,4px);}
.dcl-offline-page .brand-line {min-width:0;}
.dcl-offline-page .offline-home-link {min-width:0;}
.shore-sheet,.shore-modal,.shore-search-panel,.shore-place-search,.shore-toast,.shore-hours-time-card,.dcl-food-modal,.dcl-food-toast {background:var(--body-bg);color:var(--text-color);border:1px solid var(--control-bg);border-radius:var(--border-radius,4px);box-shadow:0 3px 12px rgba(0,0,0,.15);}
.shore-sheet-handle span {background:var(--muted-color);border-radius:3px;}
.shore-description p,.shore-location-note p {font-size:14px;line-height:1.6;}
.shore-rating-jump,.shore-share-inline {background:transparent;color:var(--primary-color);border:0;}

.shore-photo-view {background:transparent;border:0;padding:0;}
.shore-gallery-viewport {cursor:grab;}
.shore-review,.dcl-food-review {border-bottom:1px solid var(--control-bg);background:transparent;font-size:14px;line-height:1.6;}
.shore-review small,.dcl-food-review small {color:var(--muted-color);}
.shore-marker {color:white;background:var(--primary-color);border:2px solid white;border-radius:24px;font-size:12px;font-weight:600;box-shadow:0 2px 6px rgba(0,0,0,.25);}
.shore-marker.is-restaurant {background:var(--shore-rest,#2e7d32);}.shore-marker.is-cafe {background:var(--shore-cafe,#795548);color:var(--shore-cafe-text,#fff);}.shore-marker.is-orange {background:var(--shore-orange,#ef8d22);}
.shore-modal-backdrop,.dcl-food-modal-backdrop {background:rgba(0,0,0,.45);}
.shore-photo-actions {background:rgba(0,0,0,.5);color:white;}
.shore-primary {background:var(--primary-color);color:var(--body-bg);}
.dcl-photo-viewer {position:fixed;inset:0;z-index:4000;background:var(--body-bg,#fff);color:var(--text-color,#53657b);display:flex;flex-direction:column;}
.dcl-photo-toolbar {position:absolute;right:8px;bottom:8px;z-index:3;display:flex;align-items:center;gap:6px;padding:8px;flex-wrap:wrap;background:var(--body-bg);border:1px solid var(--control-bg);}
.dcl-photo-count {margin-left:auto;padding:0 8px;}
.dcl-photo-viewport {flex:1;min-height:0;overflow:auto;touch-action:pinch-zoom;cursor:grab;}
.dcl-photo-stage {width:max-content;min-width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;}
.dcl-photo-stage img {display:block;max-width:none;user-select:none;-webkit-user-drag:none;flex:none;}
.dcl-photo-message {position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.dcl-food-offline-sync-pending {padding:14px 4px 8px;text-align:center;color:var(--muted-color);font-size:12px;}

.shore-stars {--shore-star-on:var(--control-warning-bg,#dc9c00);--shore-star-off:var(--muted-color,#8c99ab);}
.shore-star-svg {color:var(--shore-star-off);}.shore-star-svg.is-full,.shore-star-svg.is-half {color:var(--shore-star-on);}

.dcl-offline-page:has(#foodView:not(.hidden)) > main {padding-top:0;}

/* Feature meaning stays visible in every Flarum theme. */
.dcl-food-modal-head {background:var(--body-bg);border-bottom:1px solid var(--control-bg);}
.dcl-food-star-hit,.shore-star-input button {background:transparent;border:0;color:var(--muted-color);font-size:28px;padding:0;}
.dcl-food-star-hit.full,.shore-star-input button.is-full {color:var(--dcl-star-color);}
.dcl-food-star-hit.half,.shore-star-input button.is-half {background-image:linear-gradient(90deg,var(--dcl-star-color) 50%,var(--muted-color) 50%);background-clip:text;-webkit-background-clip:text;color:transparent;}
.shore-hours-time-layer {background:rgba(0,0,0,.45);}
.shore-hour-bg {fill:var(--control-bg);}
.shore-hour-open-rect,.shore-hours-open-svg {fill:var(--alert-success-color,#43a047);}
.shore-hour-break-rect,.shore-hours-break-svg {fill:var(--error-color,#d74a45);}
.shore-hour-tick-minor {stroke:var(--muted-color-light);}
.shore-hour-tick-major {stroke:var(--muted-color);}
.shore-hour-now-triangle,.shore-hours-now-svg {fill:var(--text-color);}
.shore-star-base-svg path {fill:var(--muted-color);}
.shore-star-fill path {fill:var(--control-warning-bg,#dc9c00);}
.shore-position-pin {color:var(--error-color,#d74a45);font-size:38px;}
.shore-position-pin i {background:currentColor;}
.dcl-offline-page .notice.error,.dcl-food-form-notice.is-error,.dcl-food-admin-notice.is-error,.is-danger {color:var(--error-color,#d74a45);}
.dcl-offline-page .notice.ok {color:var(--alert-success-color,#43a047);}

/* Semantic layouts use Flarum controls without inheriting button layout for rows. */
.dcl-food-index-icon {display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;background:var(--primary-color);color:var(--body-bg);width:40px;height:40px;}
.dcl-food-index-icon svg {fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.dcl-food-menu-actions .Button {display:inline-flex;align-items:center;justify-content:center;height:36px;min-height:36px;padding:0 8px;margin:6px 0;}
.dcl-food-menu-actions .dcl-food-menu-share {width:36px;padding:0;}
.dcl-food-admin-form .FormControl {height:auto;min-height:40px;line-height:1.5;padding:7px 8px;}
.dcl-food-hour-group-columns {display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr) minmax(0,1fr) 30px;gap:5px;font-size:12px;color:var(--muted-color);}
.dcl-food-hour-group-card {display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr) minmax(0,1fr) 30px;gap:5px;padding:0;margin-top:6px;align-items:center;}
.dcl-food-admin-form .dcl-food-hour-group-card input.FormControl {height:40px;min-height:40px;font-size:12px;padding:7px 4px;}
.dcl-food-hour-group-remove.Button {width:30px;height:40px;padding:0;font-size:20px;}
.dcl-confirm-backdrop {position:fixed;inset:0;z-index:15000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.45);}
.dcl-confirm-dialog {box-sizing:border-box;width:100%;max-width:420px;max-height:90dvh;overflow:auto;padding:20px;background:var(--body-bg);color:var(--text-color);border-radius:var(--border-radius,4px);box-shadow:0 3px 12px rgba(0,0,0,.15);}
.dcl-confirm-dialog h2 {margin:0 0 12px;font-size:20px;}
.dcl-confirm-dialog p {white-space:pre-line;line-height:1.6;}
.dcl-confirm-actions {display:flex;justify-content:flex-end;gap:8px;margin-top:20px;}
.dcl-confirm-danger.Button {background:var(--error-color);color:var(--body-bg);}
.IndexPage-toolbar-action .Button {display:inline-flex;align-items:center;justify-content:center;min-height:36px;box-sizing:border-box;padding:7px 10px;line-height:20px;}
.dcl-offline-page .offline-home-actions {display:grid;grid-template-columns:minmax(0,1fr);gap:8px;}
.dcl-offline-page .offline-data-actions {display:flex;gap:8px;min-width:0;}
.dcl-offline-page #syncBtn {flex:1;min-width:0;}
.dcl-offline-page #openSiteBtn {grid-column:1/-1;}
.dcl-offline-page .offline-home-actions .Button {display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 12px;}
.dcl-offline-page .offline-delete-btn {width:40px;padding:0;color:var(--error-color);}
.dcl-offline-page .offline-delete-btn svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.dcl-offline-page .search-row {grid-template-columns:minmax(100px,.4fr) minmax(0,1fr);}
.dcl-offline-page .search-row .FormControl {height:40px;min-width:0;line-height:1.5;padding:7px 8px;}
/* A single image-navigation control for Food, Shore and the forum viewer. */
.dcl-food-gallery-arrow,.shore-gallery-arrow,.dcl-photo-arrow {display:flex;align-items:center;justify-content:center;width:48px;height:64px;padding:4px;background:transparent;border:0;border-radius:0;color:#fff;cursor:pointer;filter:drop-shadow(0 1px 2px #000) drop-shadow(0 0 2px #000);}
.dcl-food-gallery-arrow svg,.shore-gallery-arrow svg,.dcl-photo-arrow svg {display:block;width:34px;height:48px;pointer-events:none;}
.dcl-food-gallery-arrow[hidden],.shore-gallery-arrow[hidden],.dcl-photo-arrow[hidden] {display:none!important;}
.dcl-food-restaurant-review-toggle.Button {display:flex;align-items:center;justify-content:space-between;height:48px;min-height:48px;padding:0 12px;line-height:24px;}
.dcl-review-chevron {display:flex;align-items:center;width:28px;height:28px;flex:none;}
.dcl-review-chevron svg {display:block;width:28px;height:28px;}
.dcl-food-restaurant-review-panel[hidden] {display:none!important;}
.dcl-photo-body {position:relative;display:flex;flex:1;min-height:0;}
.dcl-photo-arrow {position:absolute;z-index:2;top:50%;transform:translateY(-50%);}
.dcl-photo-arrow.is-prev {left:0;}.dcl-photo-arrow.is-next {right:0;}
.shore-position-pin {width:32px;height:44px;line-height:0;filter:drop-shadow(0 2px 2px #0006);}
.shore-position-pin svg {display:block;width:32px;height:44px;}
.dcl-shore-page select.FormControl,.shore-modal select.FormControl,.shore-hours-time-layer select.FormControl {height:44px;min-height:44px;padding:7px 8px;line-height:24px;}
.shore-place-search-result {display:flex;flex-direction:column;align-items:flex-start;box-sizing:border-box;max-width:100%;white-space:normal;text-align:left;font:inherit;background:var(--control-bg);color:var(--text-color);border:0;border-radius:var(--border-radius);}
.shore-place-search-result strong,.shore-place-search-result span {display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:unset;}
.shore-place-search-results {overflow-x:hidden;}

.shore-back svg {display:block;width:24px;height:28px;margin:auto;}


/* Shared Flarum-shell integration. Flarum owns typography, buttons, header controls and theme variables. */
@media(prefers-color-scheme:dark){:root{--dcl-star-color:#ffd54f;--dcl-heart-color:#ff6b6b;}}
[data-theme^="dark"] {--dcl-star-color:#ffd54f;--dcl-heart-color:#ff6b6b;}

/* Status UI is invisible unless its controller explicitly opens it. */
.online-loading-overlay {display:none;position:fixed;inset:0;z-index:15000;background:rgba(0,0,0,.4);place-items:center;padding:20px;}
.online-loading-overlay.show[aria-hidden="false"] {display:grid;}
.online-loading-card {display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--body-bg);color:var(--text-color);border-radius:var(--border-radius);}

/* Online Food is a Flarum sub-screen. The App header owns back/title/actions. */
.dcl-food-forum {overflow-x:clip;overflow-y:visible;}
.dcl-food-forum #dclFoodRoot {max-width:1170px;margin:auto;padding:0 0 16px;}
.dcl-food-forum .dcl-food-toolbar {position:sticky;top:var(--header-height,52px);z-index:130;background:var(--body-bg);border-bottom:1px solid var(--control-bg);padding:8px 0;}
.dcl-food-title-control {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dcl-food-primary-control>.Button {font-size:20px;}
.dcl-food-page-heading-inner {position:relative;}
@media(min-width:768px){
  .dcl-food-page-heading-inner {display:flex;align-items:center;justify-content:center;}
  .dcl-food-page-heading .dcl-food-title-control {max-width:calc(100% - 90px);margin:0;}
  .dcl-food-page-heading .dcl-food-primary-control {position:absolute;right:15px;top:50%;margin:0;transform:translateY(-50%);}
  .dcl-food-page-heading .dcl-food-primary-control>.Button {display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;}
}
@media(max-width:767.98px){
  .dcl-food-page-heading,.dcl-food-page-heading-inner {display:contents;}
  .dcl-food-page-heading .dcl-food-title-control {height:var(--header-height-phone,46px);line-height:var(--header-height-phone,46px);}
  /* Flarum centers mobile App titles with a -100px offset. */
  .dcl-food-forum .dcl-food-page-heading .dcl-food-title-control {margin-left:-100px;}
  .dcl-ui-page>main {padding:12px;}
  .dcl-food-forum .dcl-food-toolbar {top:var(--header-height-phone,46px);}
  .dcl-food-menu-description {font-size:13px;}
  .dcl-photo-toolbar {padding:8px;gap:4px;}
  .dcl-photo-toolbar :is([data-zoom-in],[data-zoom-out]) {padding:14px;font-size:24px;}
}

/* Online/offline Food share one renderer and one filter layout. */
.dcl-food-filter {display:flex;align-items:center;flex-wrap:nowrap;gap:3px;position:static;margin:0;padding:0;background:var(--body-bg);}
.dcl-food-filter>select {height:44px;min-height:44px;flex:0 0 54px;width:54px;min-width:0;max-width:none;padding:7px 2px;line-height:24px;font-size:12px;}
.dcl-food-query-controls {display:flex;align-items:center;gap:3px;flex:1 1 0;min-width:0;}
.dcl-food-filter .dcl-food-query-controls input[type="search"] {height:44px;min-height:44px;flex:1 1 54px;min-width:44px;width:0;padding:7px 5px;font-size:12px;}
.dcl-food-query-controls .dcl-food-personal-filter.Button,
.dcl-food-query-controls .dcl-food-include-drinks.Button {display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;color:var(--muted-color);}
.dcl-food-query-controls .dcl-food-personal-filter svg {display:block;width:24px;height:24px;}
.dcl-food-query-controls .dcl-food-include-drinks.Button {flex-basis:44px;width:44px;min-width:44px;padding:0;}
.dcl-food-query-controls .dcl-food-drink-filter-icon {display:block;width:24px;font-size:24px;line-height:1;text-align:center;}
.dcl-food-favorite-filter[aria-pressed="false"],
.dcl-food-rated-filter[aria-pressed="false"] {color:var(--muted-color)!important;}
.dcl-food-favorite-filter[aria-pressed="false"] svg path,
.dcl-food-rated-filter[aria-pressed="false"] svg path {fill:none!important;stroke:currentColor!important;stroke-width:2.5!important;}
.dcl-food-rated-filter[aria-pressed="false"] svg path {stroke-linejoin:round!important;}
.dcl-food-favorite-filter[aria-pressed="true"] {color:var(--dcl-heart-color)!important;}
.dcl-food-rated-filter[aria-pressed="true"] {color:var(--dcl-star-color)!important;}
.dcl-food-favorite-filter[aria-pressed="true"] svg path,
.dcl-food-rated-filter[aria-pressed="true"] svg path {fill:currentColor!important;stroke:currentColor!important;stroke-width:1.2!important;}
.dcl-food-query-controls .dcl-food-include-drinks[aria-pressed="true"] {color:var(--primary-color);}
.dcl-food-menu-overlay {--dcl-food-star-on:var(--dcl-star-color);--dcl-star-color:#ffd54f;}
@media(min-width:768px){.dcl-food-filter>select{flex-basis:100px;width:100px;font-size:14px;}}
@media(max-width:359px){.dcl-food-filter>select{flex-basis:46px;width:46px}.dcl-food-filter,.dcl-food-query-controls{gap:2px}}

/* A non-default sailing day/time is indicated only by a quiet background pulse. */
.dcl-filter-limited.FormControl {animation:dcl-filter-pulse 2.8s ease-in-out infinite;}
@keyframes dcl-filter-pulse {0%,100%{background-color:var(--control-bg)}50%{background-color:#ffd6d6}}
@media(prefers-reduced-motion:reduce){.dcl-filter-limited{animation:none}}

/* Email confirmation keeps Flarum Alert/Button styling; only the responsive control flow is custom. */
.dcl-email-confirmation .Alert-controls {display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:nowrap;}
.dcl-email-confirmation .Alert-controls .Button {white-space:nowrap;}
@media(max-width:767.98px){
  .dcl-email-confirmation .Alert-controls {flex-direction:column;align-items:flex-start;gap:2px;}
  .dcl-email-confirmation .Alert-controls .Button {display:inline-flex;width:auto;max-width:100%;margin:0;}
}

/* Offline uses the same Flarum classes. Only the extra ship-time slot requires page-specific geometry. */
.dcl-offline-page {--dcl-offline-header-height:var(--header-height,52px);padding-top:var(--dcl-offline-header-height);}
.dcl-offline-page>header.dcl-offline-header {position:fixed;top:0;left:0;right:0;z-index:var(--zindex-header,1000);display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;height:var(--dcl-offline-header-height);padding:0;background:var(--header-bg,var(--body-bg));color:var(--header-color,var(--text-color));border-bottom:1px solid var(--control-bg);box-shadow:none;}
.dcl-offline-page>header .dcl-offline-app-navigation,
.dcl-offline-page>header .dcl-offline-navigation,
.dcl-offline-page>header .dcl-offline-search-control,
.dcl-offline-page>header .dcl-offline-title-control,
.dcl-offline-page>header .dcl-offline-primary-control {position:static!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;width:auto!important;height:var(--dcl-offline-header-height)!important;margin:0!important;transform:none!important;}
.dcl-offline-page>header .dcl-offline-app-navigation {display:flex;align-items:center;min-width:0;background:transparent;}
.dcl-offline-page>header .dcl-offline-navigation {display:flex!important;align-items:center;white-space:nowrap;}
.dcl-offline-page>header .Navigation-back:disabled {opacity:.35;cursor:default;pointer-events:none;}
.dcl-offline-page>header .dcl-offline-navigation>.Button[hidden],
.dcl-offline-page>header .dcl-offline-search-control[hidden],
.dcl-offline-page>header .dcl-offline-title-control[hidden] {display:none!important;}
.dcl-offline-page>header .dcl-offline-search-control,
.dcl-offline-page>header .dcl-offline-title-control {min-width:0!important;align-self:stretch;}
.dcl-offline-page>header .dcl-offline-title-control {display:block;line-height:var(--dcl-offline-header-height);overflow:hidden;padding:0 8px;color:inherit;text-align:center;text-overflow:ellipsis;white-space:nowrap;}
.dcl-offline-page>header .dcl-offline-search-control {display:flex!important;align-items:center;padding:0 4px;}
.dcl-offline-page>header .dcl-offline-search-control .Search {display:flex!important;align-items:center;width:100%!important;min-width:0!important;max-width:none!important;height:36px!important;margin:0!important;}
.dcl-offline-page>header .dcl-offline-search-control .Search-input {display:flex;align-items:center;width:100%!important;min-width:0!important;max-width:none!important;height:36px!important;margin:0!important;padding:8px 12px!important;cursor:text!important;}
.dcl-offline-page>header .dcl-offline-search-control .dcl-offline-search-label {display:flex!important;align-items:center;min-width:0;flex:1 1 auto;}
.dcl-offline-page>header .dcl-offline-search-control #searchInput {display:block;width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;line-height:20px;}
.dcl-offline-page>header .dcl-offline-search-control #searchInput::placeholder {color:inherit;opacity:1;}
.dcl-offline-page>header .dcl-offline-primary-control {display:flex!important;align-items:center;justify-content:center;padding:0 12px;}
.dcl-offline-page>header .dcl-offline-ship-time {font-size:16px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap;color:inherit;}
@media(max-width:767.98px){
  .dcl-offline-page {--dcl-offline-header-height:var(--header-height-phone,46px);}
  .dcl-offline-page>header .dcl-offline-primary-control {padding:0 8px;}
}

.dcl-offline-page .search-panel,
.dcl-offline-page #tagFilter {display:none!important;}
.dcl-offline-page #readerView .reader-head>#backBtn,
.dcl-offline-page #readerView .reader-head>#readerTitle,
.dcl-offline-page #readerView .reader-head>div>#readerTitle {display:none!important;}
.dcl-offline-page .dcl-food-toolbar {position:sticky;top:var(--dcl-offline-header-height);z-index:130;background:var(--body-bg);border-bottom:1px solid var(--control-bg);padding:8px 0;}
.dcl-offline-page .drawer-backdrop[hidden],
.dcl-offline-page .App-drawer[hidden] {display:none!important;}
.dcl-offline-page .dcl-offline-brand img {display:block;width:52px;height:auto;}
.dcl-offline-page #dcl-food-offline-entry .dcl-food-index-title {font-size:16px;font-weight:600;color:var(--text-color);}

.dcl-share-backdrop{z-index:100050;align-items:flex-end}
.dcl-share-sheet{display:grid;gap:8px}
.dcl-share-toast{position:fixed;z-index:100060;left:50%;bottom:80px;transform:translate(-50%,20px);max-width:calc(100% - 32px);padding:9px 13px;border-radius:var(--border-radius,8px);background:var(--text-color);color:var(--body-bg);font:13px/1.4 system-ui,sans-serif;opacity:0;pointer-events:none;transition:.18s}
.dcl-share-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.dcl-share-copy-buffer{position:fixed;opacity:0}
@media(min-width:768px){.dcl-share-backdrop{align-items:center}}
