


 /* raleway-600 - latin-ext */
 @font-face {
     font-family: 'Raleway';
     font-style: normal;
     font-weight: 600;
     src: url('/static_assets/Webfonts/raleway-v14-latin-ext-600.eot'); /* IE9 Compat Modes */
     src: local('Raleway SemiBold'), local('Raleway-SemiBold'),
     url('/static_assets/Webfonts/raleway-v14-latin-ext-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
     url('/static_assets/Webfonts/raleway-v14-latin-ext-600.woff2') format('woff2'), /* Super Modern Browsers */
     url('/static_assets/Webfonts/raleway-v14-latin-ext-600.woff') format('woff'), /* Modern Browsers */
     url('/static_assets/Webfonts/raleway-v14-latin-ext-600.ttf') format('truetype'), /* Safari, Android, iOS */
     url('/static_assets/Webfonts/raleway-v14-latin-ext-600.svg#Raleway') format('svg'); /* Legacy iOS */
     font-display: swap;
 }

 /* raleway-900 - latin-ext */
 @font-face {
     font-family: 'Raleway';
     font-style: normal;
     font-weight: 900;
     src: url('/static_assets/Webfonts/raleway-v14-latin-ext-900.eot'); /* IE9 Compat Modes */
     src: local('Raleway Black'), local('Raleway-Black'),
     url('/static_assets/Webfonts/raleway-v14-latin-ext-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
     url('/static_assets/Webfonts/raleway-v14-latin-ext-900.woff2') format('woff2'), /* Super Modern Browsers */
     url('/static_assets/Webfonts/raleway-v14-latin-ext-900.woff') format('woff'), /* Modern Browsers */
     url('/static_assets/Webfonts/raleway-v14-latin-ext-900.ttf') format('truetype'), /* Safari, Android, iOS */
     url('/static_assets/Webfonts/raleway-v14-latin-ext-900.svg#Raleway') format('svg'); /* Legacy iOS */
     font-display: swap;
 }

 /* public-sans-regular - latin-ext */
 @font-face {
     font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
     font-family: 'Public Sans';
     font-style: normal;
     font-weight: 400;
     src: url('/static_assets/Webfonts/public-sans-v21-latin-ext-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
     url('/static_assets/Webfonts/public-sans-v21-latin-ext-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
 }
 /* public-sans-italic - latin-ext */
 @font-face {
     font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
     font-family: 'Public Sans';
     font-style: italic;
     font-weight: 400;
     src: url('/static_assets/Webfonts/public-sans-v21-latin-ext-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
     url('/static_assets/Webfonts/public-sans-v21-latin-ext-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
 }
 /* public-sans-600 - latin-ext */
 @font-face {
     font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
     font-family: 'Public Sans';
     font-style: normal;
     font-weight: 600;
     src: url('/static_assets/Webfonts/public-sans-v21-latin-ext-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
     url('/static_assets/Webfonts/public-sans-v21-latin-ext-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
 }


 :root {
      --bo-orange: #ED6F12;
      --bo-orange-dark: #DF480A;
      --bo-black: #000000;
      --bo-darkgray: #3A3A3A;
      --bo-lightgray: #F5F5F5;
      --bo-gray: #DADADA;
      --panel: rgba(255,255,255,0.92);
      --card: #ffffff;
      --text: #3A3A3A;
      --text-strong: #000000;
      --line: rgba(58,58,58,0.14);
      --shadow: 0 24px 64px rgba(0,0,0,0.14);
      --radius: 24px;
      --radius-sm: 16px;
    }

    * { box-sizing: border-box; }
    html, body { height: 100%; }

    body {
      margin: 0;
      color: var(--text);
      font-family: 'Public Sans', Arial, sans-serif;
      background:
        radial-gradient(circle at top right, rgba(255,255,255,0.12), rgba(255,255,255,0) 34%),
        linear-gradient(145deg, var(--bo-orange) 0%, #e65f10 42%, var(--bo-orange-dark) 100%);
      background-attachment: fixed;
    }
 /* Basis Button (.btn) */
 .btn {
     --bs-btn-padding-x: 0.75rem;
     --bs-btn-padding-y: 0.375rem;
     --bs-btn-font-family: ;
     --bs-btn-font-size: 1rem;
     --bs-btn-font-weight: 400;
     --bs-btn-line-height: 1.5;
     --bs-btn-color: #000;
     --bs-btn-bg: #cccccc;
     --bs-btn-border-width: 1px;
     --bs-btn-border-color: transparent;
     --bs-btn-border-radius: 0.375rem;
     --bs-btn-hover-border-color: transparent;
     --bs-btn-box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);
     --bs-btn-disabled-opacity: 0.65;
     --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25);
     --bs-btn-hover-bg:#adadad;
     --bs-btn-hover-color:#000;

     display: inline-block;
     padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
     font-family: var(--bs-btn-font-family);
     font-size: var(--bs-btn-font-size);
     font-weight: var(--bs-btn-font-weight);
     line-height: var(--bs-btn-line-height);
     color: var(--bs-btn-color);
     text-align: center;
     text-decoration: none;
     vertical-align: middle;
     cursor: pointer;
     user-select: none;
     background-color: var(--bs-btn-bg);
     border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
     border-radius: var(--bs-btn-border-radius);
     transition:
             color .15s ease-in-out,
             background-color .15s ease-in-out,
             border-color .15s ease-in-out,
             box-shadow .15s ease-in-out;
 }

 .btn:hover {
     color: var(--bs-btn-hover-color);
     background-color: var(--bs-btn-hover-bg);
     border-color: var(--bs-btn-hover-border-color);
 }

 .btn:focus {
     outline: 0;
     box-shadow: var(--bs-btn-focus-box-shadow);
 }

 .btn:disabled,
 .btn.disabled {
     pointer-events: none;
     opacity: var(--bs-btn-disabled-opacity);
 }

 .mb-2 {
     margin-bottom: 0.5rem !important;
 }
 .fw-bold {
     font-weight: 700 !important;
 }
    .shell {
      min-height: 100%;
      display: flex;
      flex-direction: column;
    }

    .topbar {
      position: sticky;
      top: 0;
      z-index: 10;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      padding: 16px 18px;
      background: rgba(255,255,255,0.9);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid rgba(0,0,0,0.06);
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .logo {
      width: 58px;
      height: 58px;
      border-radius: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 6px;
      background: linear-gradient(135deg, #ED6F12 0%, #DF480A 100%);
      border: 1px solid rgba(0,0,0,0.08);
      box-shadow: 0 10px 24px rgba(0,0,0,0.18);
      overflow: hidden;
      flex: 0 0 auto;
    }
    .logo img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: contain;
    }

    .title {
      margin: 0;
      font-size: 18px;
      font-family: 'Raleway', Arial, sans-serif;
      font-weight: 900;
      letter-spacing: 0.2px;
      color: var(--text-strong);
    }

    .subtitle {
      margin: 3px 0 0;
      color: var(--bo-darkgray);
      font-size: 12px;
      font-weight: 400;
    }

    .pill {
      padding: 8px 12px;
      border-radius: 999px;
      background: #fff;
      border: 1px solid rgba(0,0,0,0.08);
      font-family: 'Raleway', Arial, sans-serif;
      font-weight: 900;
      color: var(--bo-orange);
      min-width: 48px;
      text-align: center;
    }

    .main {
      flex: 1;
      display: grid;
      place-items: center;
      padding: 22px 18px;
    }

    .panel {

      background: rgba(255,255,255,0.96);
      border: 1px solid rgba(0,0,0,0.06);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 20px;
      position: relative;
      overflow: hidden;
    }

    .panel::before {
      content: none;
    }

    .panel > * { position: relative; }

    .panel h2 {
      margin: 0 0 8px;
      font-size: 28px;
      line-height: 1;
      font-family: 'Raleway', Arial, sans-serif;
      font-weight: 900;
      text-transform: uppercase;
      color: var(--bo-orange);
    }

    .muted {
      color: var(--bo-darkgray);
      line-height: 1.55;
      font-weight: 400;
    }

    .grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      margin-top: 18px;
    }

    @media (max-width: 900px) {
      .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    @media (max-width: 560px) {
      .grid { grid-template-columns: 1fr; }
      .panel h2 { font-size: 24px; }
    }

    .rubric-btn,
    .action-btn,
    .link-btn,
    .dock-btn {
      border: 1px solid var(--line);
      color: var(--text-strong);
      background: rgba(255,255,255,0.96);
      cursor: pointer;
      transition: transform 0.08s ease, background 0.15s ease, border-color 0.15s ease;
      font-family: 'Public Sans', Arial, sans-serif;
    }

    .rubric-btn:hover,
    .action-btn:hover,
    .link-btn:hover,
    .dock-btn:hover {
      background: #fff;
      border-color: rgba(237,111,18,0.38);
    }

    .rubric-btn:active,
    .action-btn:active,
    .link-btn:active,
    .dock-btn:active {
      transform: scale(0.985);
    }

    .rubric-btn {
      width: 100%;
      text-align: left;
      padding: 15px 14px;
      border-radius: 18px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
      box-shadow: 0 10px 24px rgba(0,0,0,0.05);
    }

    .rubric-name {
      font-family: 'Raleway', Arial, sans-serif;
      font-weight: 600;
      font-size: 15px;
      color: var(--text-strong);
    }

    .rubric-meta {
      color: var(--bo-darkgray);
      font-size: 12px;
      margin-top: 4px;
      font-weight: 400;
    }

    .rubric-arrow {
      color: var(--bo-orange);
      font-family: 'Raleway', Arial, sans-serif;
      font-weight: 900;
      font-size: 18px;
    }

    .deck-wrap {
      width: min(440px, 92vw);
    }

    .deck {
      position: relative;
      height: 580px;
      border-radius: var(--radius);
    }

    .card {
      position: absolute;
      inset: 0;
      border-radius: var(--radius);
      background: var(--card);
      border: 1px solid rgba(0,0,0,0.06);
      overflow: hidden;
      box-shadow: var(--shadow);
      touch-action: pan-y;
      user-select: none;
      will-change: transform;
    }

    .card::before {
      content: none;
    }

    .img-wrap {
      position: relative;
      height: 66%;
      background: var(--bo-gray);
      z-index: 1;
    }

    .img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      filter: saturate(0.92);
    }

    .img-wrap::after {
      content: none;
    }

    .badge {
      position: absolute;
      top: 14px;
      padding: 10px 14px;
      border-radius: 999px;
      font-size: 12px;
      font-family: 'Raleway', Arial, sans-serif;
      font-weight: 900;
      letter-spacing: 0.8px;
      text-transform: uppercase;
      border: 2px solid rgba(255,255,255,0.9);
      color: #fff;
      background: rgba(0,0,0,0.42);
      backdrop-filter: blur(6px);
      opacity: 0;
      transform: translateY(-6px);
      transition: opacity 0.12s ease, transform 0.12s ease;
      pointer-events: none;
      z-index: 2;
    }

    .badge.like { left: 14px; }
    .badge.nope { right: 14px; }

    .content {
      height: 34%;
      padding: 16px;
      display: grid;
      gap: 8px;
      align-content: start;
      background: linear-gradient(180deg, #ffffff, #fcfcfc);
      position: relative;
      z-index: 1;
    }

    .card-title {
      margin: 0;
      font-size: 22px;
      line-height: 1.05;
      font-family: 'Raleway', Arial, sans-serif;
      font-weight: 900;
      text-transform: uppercase;
      color: var(--text-strong);
    }

    .card-subtitle {
      margin: 0;
      color: var(--bo-orange);
      font-size: 13px;
      line-height: 1.35;
      font-family: 'Raleway', Arial, sans-serif;
      font-weight: 600;
    }

    .card-desc {
      margin: 0;
      color: var(--bo-darkgray);
      font-size: 13px;
      line-height: 1.45;
      font-weight: 400;
    }

    .actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-top: 6px;
    }

    .action-btn,
    .link-btn {
      padding: 12px 14px;
      border-radius: 14px;
      font-weight: 700;
      text-decoration: none;
      text-align: center;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
    }

    .action-btn.primary,
    .link-btn.primary,
    .dock-btn.primary {
      background: linear-gradient(180deg, var(--bo-orange), var(--bo-orange-dark));
      color: #fff;
      border-color: transparent;
      box-shadow: 0 12px 28px rgba(237,111,18,0.22);
    }

    .under-actions {
      margin-top: 14px;
      display: grid;
      gap: 10px;
    }

    .dock {
      margin-top: 14px;
      display: flex;
      justify-content: center;
      gap: 14px;
    }

    .dock-btn {
      width: 58px;
      height: 58px;
      border-radius: 18px;
      font-size: 22px;
      font-family: 'Raleway', Arial, sans-serif;
      font-weight: 900;
      box-shadow: 0 10px 24px rgba(0,0,0,0.08);
    }

    .toolbar {
      margin-top: 14px;
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: center;
      color: rgba(255,255,255,0.92);
      font-size: 12px;
      flex-wrap: wrap;
    }

    .empty {
      position: absolute;
      inset: 0;
      display: grid;
      place-items: center;
      text-align: center;
      border: 1px dashed rgba(0,0,0,0.12);
      border-radius: var(--radius);
      background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(245,245,245,0.96));
      padding: 20px;
    }

    .empty h3 {
      margin: 0 0 6px;
      font-size: 22px;
      font-family: 'Raleway', Arial, sans-serif;
      font-weight: 900;
      text-transform: uppercase;
      color: var(--bo-orange);
    }


    .toolbar .action-btn,
    .under-actions .link-btn,
    .dock-btn {
      background: rgba(255,255,255,0.98);
      border-color: rgba(255,255,255,0.82);
      color: var(--bo-orange-dark);
      box-shadow: 0 14px 28px rgba(0,0,0,0.16);
    }

    .toolbar .action-btn:hover,
    .under-actions .link-btn:hover,
    .dock-btn:hover {
      background: #ffffff;
      border-color: #ffffff;
    }

    .under-actions .link-btn,
    .toolbar .action-btn {
      font-family: 'Raleway', Arial, sans-serif;
      font-weight: 900;
    }

    .under-actions .link-btn.primary,
    .dock-btn.primary {
      background: var(--bo-darkgray);
      color: #ffffff;
      border-color: rgba(255,255,255,0.18);
      box-shadow: 0 14px 28px rgba(58,58,58,0.28);
    }

    .under-actions .link-btn.primary:hover,
    .dock-btn.primary:hover {
      background: #4a4a4a;
      border-color: rgba(255,255,255,0.28);
    }

    .hidden { display: none !important; }
    /* Override for labeled bottom action buttons */
    .dock {
      flex-wrap: wrap;
    }
    .dock-btn {
      min-width: 170px;
      width: auto;
      padding: 0 18px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 15px;
      line-height: 1.2;
      text-align: center;
    }

  
    /* Compacter spacing around back button */
    .toolbar {
      margin-top: 10px;
      justify-content: flex-start;
      gap: 8px;
    }
    .toolbar .action-btn {
      padding: 10px 12px;
      min-height: 42px;
      border-radius: 12px;
      font-size: 14px;
      line-height: 1.2;
      box-shadow: 0 10px 20px rgba(0,0,0,0.12);
    }
    .dock {
      margin-top: 10px;
    }
    .under-actions {
      margin-top: 10px;
    }

    @media (max-width: 640px) {
      .topbar {
        padding: 10px 12px;
      }

      .logo {
        width: 46px;
        height: 46px;
        border-radius: 14px;
        padding: 5px;
      }

      .title {
        font-size: 16px;
      }

      .subtitle {
        font-size: 11px;
        margin-top: 2px;
      }

      .pill {
        padding: 6px 10px;
        min-width: 40px;
        font-size: 13px;
      }

      .main {
        padding: 10px 12px 12px;
      }

      .shell.deck-mode {
        height: 100svh;
        overflow: hidden;
      }

      .shell.deck-mode .main {
        flex: 1;
        min-height: 0;
        overflow: hidden;
        align-items: stretch;
      }

      .shell.deck-mode .deck-wrap {
        width: min(100%, 420px);
        height: 100%;
        display: grid;
        grid-template-rows: minmax(0, 1fr) auto auto auto;
        align-content: stretch;
      }

      .shell.deck-mode .deck {
        height: auto;
        min-height: 0;
      }

      .shell.deck-mode .toolbar {
        margin-top: 8px;
      }

      .shell.deck-mode .dock {
        margin-top: 8px;
        gap: 8px;
      }

      .shell.deck-mode .under-actions {
        margin-top: 8px;
      }

      .shell.deck-mode .card-title {
        font-size: 18px;
      }

      .shell.deck-mode .card-subtitle,
      .shell.deck-mode .card-desc {
        font-size: 12px;
      }

      .shell.deck-mode .content {
        padding: 12px;
        gap: 6px;
      }

      .shell.deck-mode .toolbar .action-btn,
      .shell.deck-mode .under-actions .link-btn {
        min-height: 38px;
        padding: 8px 10px;
        font-size: 12px;
        border-radius: 11px;
      }

      .shell.deck-mode .dock-btn {
        min-width: 0;
        flex: 1 1 0;
        height: 46px;
        padding: 0 12px;
        font-size: 13px;
        border-radius: 14px;
      }
    }

    .detail-modal {
      position: fixed;
      inset: 0;
      display: flex;
      align-items: stretch;
      justify-content: stretch;
      background: rgba(0,0,0,0.55);
      z-index: 50;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity 0.26s ease, visibility 0s linear 0.26s;
    }
    .detail-modal.hidden {
      display: flex !important;
    }
    .detail-modal.is-open {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transition: opacity 0.26s ease;
    }
    .detail-card {
      position: relative;
      width: 100vw;
      height: 100vh;
      background: #ffffff;
      border-radius: 0;
      box-shadow: none;
      padding: 0;
      overflow: hidden;
      transform: scale(0.985);
      transition: transform 0.26s ease;
    }
    .detail-modal.is-open .detail-card {
      transform: scale(1);
    }
    .detail-frame-wrap {
      width: 100%;
      height: 100%;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      background: #ffffff;
      position: relative;
      touch-action: auto;
    }
    .detail-frame {
      width: 100%;
      height: 100%;
      border: 0;
      background: #ffffff;
      display: block;
      transform: none !important;
      touch-action: auto;
    }
    .detail-close {
      position: absolute;
      top: 16px;
      right: 16px;
      z-index: 2;
      border: 0;
      background: rgba(58,58,58,0.92);
      color: #ffffff;
      border-radius: 12px;
      padding: 10px 14px;
      cursor: pointer;
      font-family: 'Public Sans', Arial, sans-serif;
      font-weight: 700;
      box-shadow: 0 10px 24px rgba(0,0,0,0.18);
    }
    .detail-close:hover {
      background: rgba(58,58,58,1);
    }

    
    .menu-secondary-action{
      margin-top:12px;
      display:flex;
      justify-content:center;
    }
    .privacy-menu-btn,
    a.privacy-menu-btn,
    a.privacy-menu-btn:visited{
      display:flex !important;
      width:100%;
      max-width:360px;
      align-items:center;
      justify-content:center;
      min-height:48px;
      padding:12px 16px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.16);
      background:#F5F5F5;
      color:#3A3A3A !important;
      text-decoration:none !important;
      font-weight:600;
      box-shadow:0 10px 24px rgba(0,0,0,.14);
      cursor:pointer;
    }
    .privacy-menu-btn:hover{
      text-decoration:none !important;
      filter:brightness(.98);
    }
    .privacy-menu-btn:active{transform:scale(.99)}