.shop-field{display:block;margin:12px 0;font-weight:700}.shop-field input,.shop-field select,.shop-field textarea{display:block;width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#171329;font:inherit}.shop-button{background:#F4512C;color:#fff;border-radius:8px;padding:10px 14px;font-weight:700}.shop-button:disabled,button:disabled{opacity:.55;cursor:not-allowed}.shop-link{display:inline-block;padding:10px;color:#F4512C;text-decoration:underline}.shop-cart-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid #eee}.shop-cart-item img{max-height:350px}.shop-message{position:fixed;bottom:16px;right:16px;left:16px;max-width:640px;margin:auto;padding:16px 20px;color:#fff;background:#702849;border-radius:10px;z-index:150;box-shadow:0 6px 24px #0003}.shop-message[hidden]{display:none}.shop-logo{width:39.2px;height:35px;display:inline-block;position:relative;overflow:hidden;flex-shrink:0}.shop-logo img{position:absolute!important;width:77px!important;height:77px!important;max-width:none!important;left:-18.9px;top:-21px}.shop-info{max-width:1000px;margin:24px auto;padding:20px;font-size:14px;line-height:1.8}.shop-info a{text-decoration:underline}.shop-consent{display:flex;align-items:flex-start;gap:9px;margin:15px 0;font-size:13px;line-height:1.6}.shop-consent input{margin-top:5px}.shop-logistics{background:#f8fafc;border:1px solid #ddd;padding:14px;border-radius:8px;margin:12px 0}.shop-logistics input{border:1px solid #ccc;padding:7px;border-radius:5px;width:100%;margin:4px 0 10px}.shop-logistics label{display:block}.shop-status{background:#eef2ff;padding:10px;border-radius:8px;margin:10px 0}.shop-mobile-cart{position:fixed;bottom:16px;left:16px;z-index:60;background:#F4512C;color:white;padding:12px 20px;border-radius:30px;box-shadow:0 4px 12px #0003}@media(max-width:600px){.shop-cart-item{grid-template-columns:1fr}.shop-info{padding-bottom:75px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.shop-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;min-width:0;max-width:100%}.shop-gallery>img{flex:0 0 100%;min-width:100%;scroll-snap-align:start}.shop-cart-item>div{min-width:0}
.shop-gallery-slide{flex:0 0 100%;min-width:100%;scroll-snap-align:start}.shop-catalog-gallery{position:relative;width:100%;min-width:0}.shop-carousel-arrow{position:absolute;top:45%;width:32px;height:32px;border-radius:50%;color:white;background:#0006;z-index:2}.shop-dots{display:flex;justify-content:center;gap:5px;position:absolute;bottom:8px;left:0;right:0;pointer-events:none}.shop-dots span{width:6px;height:6px;border-radius:50%;background:#aaa}.shop-dots span.active{background:#F4512C}.shop-card-price .text-xl{font-size:14px}.shop-card-price .text-sm{font-size:11px}.shop-privacy{max-width:650px;font-size:12px;line-height:1.8}.shop-privacy summary{cursor:pointer;color:#ddd}.shop-privacy[open]{padding-top:10px}.shop-privacy a{text-decoration:underline}.offer-box:focus-within{outline:2px solid #F4512C;outline-offset:3px}footer .grid>div{min-width:0}footer a{overflow-wrap:anywhere}

/* Leave room for the floating order button inside the dark footer. */
.shop-unavailable{background:#f1f1f1}
.shop-unavailable-surface{filter:grayscale(1);opacity:.55;pointer-events:none;user-select:none}
.shop-unavailable-surface *{animation:none!important;cursor:not-allowed!important}
.shop-unavailable-notice{width:calc(100% - 32px);max-width:720px;margin:8px auto 24px;padding:22px;text-align:center;background:#fff;border:1px solid #d1d5db;border-radius:12px;color:#1f2937;box-sizing:border-box}
.shop-unavailable-notice h2{font-size:22px;font-weight:800;line-height:1.5}.shop-unavailable-notice p{font-size:15px;line-height:1.8;margin:8px 0 16px}.shop-unavailable-notice a{display:inline-block;background:#374151;color:#fff;font-weight:700;padding:10px 20px;border-radius:8px}.shop-unavailable-notice a:focus-visible{outline:3px solid #374151;outline-offset:4px}
.shop-product-page footer{background:#13111c;padding-bottom:calc(7.5rem + env(safe-area-inset-bottom,0px))}
[data-thumbs-step]{direction:ltr;flex-shrink:0;min-width:24px;font-size:22px}
.staff-order-time{font-size:12px;color:#374151;font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:3px}
.staff-order-edit{margin-top:6px;width:100%;border:1px solid #f4512c;border-radius:8px;padding:6px 12px;color:#b73215;background:#fff5f1;font-size:12px;font-weight:700}.staff-order-edit:hover{background:#ffe8df}
.staff-edit-dialog{border:0;border-radius:16px;padding:0;width:min(640px,calc(100vw - 24px));max-height:90dvh;color:#202029;background:#fff;box-shadow:0 20px 70px #0004}.staff-edit-dialog::backdrop{background:#11182799}
.staff-edit-form{padding:24px;display:flex;flex-direction:column;max-height:90dvh;box-sizing:border-box}.staff-edit-form h2{font-size:21px;font-weight:800;margin-bottom:12px}.staff-edit-body{min-height:0;overflow:auto;flex:1;padding:2px 4px}.staff-edit-form fieldset{border:0;min-width:0;padding:0}.staff-edit-form label{display:block;font-size:13px;font-weight:700;margin:12px 0}.staff-edit-form input,.staff-edit-form select{display:block;box-sizing:border-box;width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px;margin-top:5px;background:#fff;color:#111827;font:inherit}.staff-edit-form input:focus,.staff-edit-form select:focus{outline:2px solid #f4512c;outline-offset:1px}.staff-edit-form p{font-size:13px;line-height:1.6}.staff-edit-context{color:#596475;margin-bottom:16px}.staff-edit-line{border:1px solid #e2e8f0;border-radius:10px;padding:12px 16px;margin:14px 0}.staff-edit-line>p{font-weight:700}.staff-edit-line small{display:block;color:#596475;overflow-wrap:anywhere}.staff-edit-total{padding:14px;background:#fff5f1;border-radius:8px;font-weight:700;font-variant-numeric:tabular-nums}.staff-edit-actions{display:flex;flex-shrink:0;justify-content:flex-end;gap:12px;margin-top:20px;background:#fff}.staff-edit-cancel{border:1px solid #cbd5e1;border-radius:8px;padding:10px 14px;background:#fff}#staff-edit-message{color:#9b321c;overflow-wrap:anywhere}#staff-edit-message:empty{display:none}@media(max-width:480px){.staff-edit-form{padding:16px}.staff-edit-form h2{font-size:19px}.staff-edit-actions>button{flex:1}}

.shop-delivery-types{border:0;padding:0;margin:16px 0;min-width:0}.shop-delivery-types legend{font-weight:700;margin-bottom:8px}.shop-delivery-types>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shop-delivery-types label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px;padding:12px 8px;border:2px solid #d1d5db;border-radius:10px;background:white;cursor:pointer;font-size:14px;font-weight:700}.shop-delivery-types label:has(input:checked){border-color:#f4512c;background:#fff5f1}.shop-delivery-types input{accent-color:#f4512c}.shop-delivery-types small{grid-column:2;font-weight:400}.shop-delivery-types .is-unavailable{opacity:.55;cursor:not-allowed}.shop-delivery-types p{font-size:12px;line-height:1.6;margin-top:8px;color:#596475}.shop-delivery-types label:focus-within{outline:2px solid #f4512c;outline-offset:2px}
.shop-piece-option{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:2px solid #e5e7eb;border-radius:12px;background:#fff}.shop-piece-option.is-selected{border-color:#f4512c;background:#fff5f1}.shop-piece-option>label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:700;min-width:0}.shop-piece-option input{accent-color:#f4512c;width:18px;height:18px;flex-shrink:0}.shop-piece-quantity{display:flex;align-items:center;flex-shrink:0;border:1px solid #d1d5db;border-radius:9px;padding:2px;background:#f3f4f6;color:#9ca3af}.shop-piece-quantity button{width:30px;height:34px;border-radius:6px;font-size:19px;font-weight:800}.shop-piece-quantity output{min-width:24px;text-align:center;font-weight:700}.shop-piece-quantity button:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.shop-piece-option.is-selected .shop-piece-quantity{color:#182230}.shop-piece-option.is-selected button{background:#fff}.shop-piece-option :focus-visible{outline:2px solid #f4512c;outline-offset:3px}

/* CRM action colours: independent report, reminder and note indicators. */
.crm-action{border:1px solid;font-weight:700;box-shadow:0 1px 2px #0000000d;line-height:1.4}
.crm-action-plain{background:#fff;color:#374151;border-color:#d1d5db;font-weight:500}
.crm-action-report{background:#2563eb;color:#fff;border-color:#1d4ed8}
.crm-action-reminder{background:#ffedd5;color:#9a3412;border-color:#fb923c}
.crm-action-note{background:#fef9c3;color:#854d0e;border-color:#facc15}
.crm-action-history{background:#f3f4f6;color:#6b7280;border-color:#d1d5db}
.crm-action:hover{filter:brightness(.96)}
.crm-action-sub{display:block;border:1px solid;border-radius:5px;padding:2px 4px;margin-top:4px;font-size:11px}
.crm-delete-note{background:#fff;color:#b91c1c;border:1px solid #fecaca;border-radius:6px;padding:4px 8px;font-size:12px;flex-shrink:0}
.crm-delete-note:disabled{opacity:.5;cursor:wait}
.crm-deleted-note{background:#f3f4f6;color:#6b7280;font-style:italic}

/* Featured offer: animation adapted from the supplied orange-red badge. */
  .shop-featured-wrap{
    position:relative;
    margin:20px 0 18px !important;
    border-radius:18px;
    isolation:isolate;
    animation:shop-offer-lift 3.2s ease-in-out infinite;
  }

  .shop-featured-wrap::after{
    content:"";
    position:absolute;
    inset:-13px;
    z-index:-3;
    border-radius:30px;
    background:
      conic-gradient(
        from var(--shop-offer-angle),
        rgba(255,106,43,.56),
        rgba(255,155,61,.26),
        rgba(192,132,252,.54),
        rgba(139,92,246,.38),
        rgba(255,126,53,.52),
        rgba(255,106,43,.56)
      );
    filter:blur(18px);
    opacity:.75;
    animation:
      shop-offer-orbit 5.5s linear infinite,
      shop-offer-breathe 2.8s ease-in-out infinite;
  }

  .shop-featured-ring{
    position:absolute;
    inset:-2px;
    z-index:-1;
    border-radius:17px;
    padding:1.5px;
    pointer-events:none;
    background:
      conic-gradient(
        from var(--shop-offer-angle),
        transparent 0deg,
        rgba(255,106,43,.98) 35deg,
        rgba(255,155,61,.98) 90deg,
        rgba(255,255,255,.96) 130deg,
        rgba(192,132,252,.95) 190deg,
        rgba(139,92,246,.92) 255deg,
        rgba(255,124,52,.96) 320deg,
        transparent 360deg
      );
    animation:shop-offer-orbit 3.8s linear infinite;
    -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
            mask-composite:exclude;
  }

  .shop-featured-light{
    position:absolute;
    inset:-7px;
    z-index:-2;
    border-radius:22px;
    pointer-events:none;
    overflow:hidden;
  }

  .shop-featured-light::before{
    content:"";
    position:absolute;
    width:42%;
    height:180%;
    top:-40%;
    left:-34%;
    background:
      linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.92),
        rgba(255,156,77,.60),
        rgba(180,110,255,.45),
        transparent
      );
    filter:blur(9px);
    transform:skewX(-20deg);
    opacity:.88;
    animation:shop-offer-sweep 3.4s cubic-bezier(.4,0,.2,1) infinite;
  }

  .shop-featured-wrap .offer-box{
    z-index:2;
    margin:0;
    border:1px solid rgba(160,104,245,.24);
    border-radius:15px;
    background:rgba(255,255,255,.985);
    box-shadow:
      0 10px 24px rgba(139,92,246,.10),
      0 8px 20px rgba(255,106,43,.08),
      0 1px 0 rgba(255,255,255,.95) inset;
  }

  .shop-best-badge{
    position:absolute;
    top:-10px;
    right:10px;
    z-index:5;
    display:inline-flex;
    align-items:center;
    gap:0;
    padding:6px 10px;
    border-radius:999px;
    color:#fff;
    font-size:11px;
    font-weight:900;
    line-height:1;
    background:
      linear-gradient(135deg, #ff9a1f 0%, #ff6a2b 48%, #ef3340 100%);
    box-shadow:
      0 7px 16px rgba(255,106,43,.24),
      0 2px 6px rgba(239,51,64,.16),
      inset 0 1px 0 rgba(255,255,255,.35);
    overflow:hidden;
    animation:
      shop-offer-badgeFloat 2.8s ease-in-out infinite,
      shop-offer-badgePulse 1.9s ease-in-out infinite;
  }

  .shop-best-badge::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(
        110deg,
        transparent 20%,
        rgba(255,255,255,.32) 48%,
        transparent 70%
      );
    transform:translateX(-130%);
    animation:shop-offer-badgeShine 3s ease-in-out infinite;
  }

  .shop-best-badge .icon{
    position:relative;
    font-size:14px;
    filter:drop-shadow(0 0 6px rgba(255,255,255,.18));
  }

  .shop-best-badge .text{
    position:relative;
    letter-spacing:-.1px;
  }

  .shop-best-badge .dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#fff;
    opacity:.95;
    box-shadow:0 0 10px rgba(255,255,255,.55);
    position:relative;
  }

  @property --shop-offer-angle{
    syntax:"<angle>";
    inherits:false;
    initial-value:0deg;
  }

  @keyframes shop-offer-orbit{
    from{ --shop-offer-angle:0deg; }
    to{ --shop-offer-angle:360deg; }
  }

  @keyframes shop-offer-breathe{
    0%,100%{ opacity:.52; transform:scale(.99); }
    50%{ opacity:.82; transform:scale(1.02); }
  }

  @keyframes shop-offer-sweep{
    0%,18%{ left:-40%; opacity:0; }
    28%{ opacity:.9; }
    64%{ left:108%; opacity:.78; }
    76%,100%{ left:108%; opacity:0; }
  }

  @keyframes shop-offer-badgeFloat{
    0%,100%{ transform:translateY(0); }
    50%{ transform:translateY(-2px); }
  }

  @keyframes shop-offer-badgePulse{
    0%,100%{
      box-shadow:
        0 10px 24px rgba(255,91,70,.24),
        0 2px 8px rgba(255,91,70,.16),
        inset 0 1px 0 rgba(255,255,255,.35);
    }
    50%{
      box-shadow:
        0 9px 20px rgba(255,91,70,.28),
        0 3px 9px rgba(255,91,70,.18),
        0 0 0 4px rgba(255,106,43,.06),
        inset 0 1px 0 rgba(255,255,255,.40);
    }
  }

  @keyframes shop-offer-badgeShine{
    0%, 62%{ transform:translateX(-130%); }
    78%{ transform:translateX(130%); }
    100%{ transform:translateX(130%); }
  }

  @keyframes shop-offer-lift{
    0%,100%{ transform:translateY(0); }
    50%{ transform:translateY(-1px); }
  }

  @media (prefers-reduced-motion: reduce){
    .shop-featured-wrap,
    .shop-featured-wrap::after,
    .shop-featured-ring,
    .shop-featured-light::before,
    .shop-best-badge,
    .shop-best-badge::before{
      animation:none !important;
    }
  }

.shop-featured-wrap{--orange1:#ff6a2b;--purple1:#8b5cf6;min-width:0}
.shop-featured-wrap>.offer-box{display:block;position:relative;margin:0;border-radius:15px;padding:14px;min-height:58px}
.shop-best-badge{pointer-events:none}
.shop-featured-wrap .radio-dot{background:linear-gradient(135deg,#ff6a2b,#8b5cf6)}
.shop-unavailable .shop-featured-wrap,.shop-unavailable .shop-featured-wrap::after,.shop-unavailable .shop-featured-ring,.shop-unavailable .shop-featured-light::before,.shop-unavailable .shop-best-badge,.shop-unavailable .shop-best-badge::before{animation:none!important}
.shop-admin-offer-row{display:grid;grid-template-columns:minmax(0,1fr) 64px 96px 32px;gap:8px;align-items:center}
.shop-admin-offer-row input{min-width:0;max-width:100%}
.shop-admin-featured{grid-row:2;grid-column:1/-1;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#9a3412;cursor:pointer;padding:3px 0}
.shop-admin-featured input{accent-color:#f4512c;width:16px;height:16px}
.shop-admin-offer-row>button{grid-row:1;grid-column:4}
@media(max-width:520px){.shop-admin-offer-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px}.shop-admin-offer-row .offer-title{grid-column:1/3}.shop-admin-offer-row>button{grid-column:3}.shop-admin-offer-row .offer-qty,.shop-admin-offer-row .offer-price{grid-row:2;width:100%}.shop-admin-featured{grid-row:3}}

/* Brand icon and wordmarks use 70% of their former dimensions. */
.shop-wordmark.text-3xl{font-size:1.3125rem;line-height:1.575rem}
.shop-wordmark.text-2xl{font-size:1.05rem;line-height:1.4rem}
.shop-wordmark.text-xl{font-size:.875rem;line-height:1.225rem}
.shop-wordmark.text-lg{font-size:.7875rem;line-height:1.225rem}

/* Only shown when the public Meta feature is enabled on an allowed origin. */
#meta-choice{position:fixed;bottom:16px;left:16px;right:16px;max-width:620px;margin:auto;z-index:10000;background:#fff;color:#17212b;border:1px solid #d6dce3;border-radius:14px;padding:18px;box-shadow:0 8px 40px #0002;font:14px/1.8 system-ui}
#meta-choice div{display:flex;gap:12px;margin-top:12px}#meta-choice button{flex:1;padding:9px;border:1px solid #4b1e78;border-radius:8px;background:white;color:#4b1e78;font-weight:bold;cursor:pointer}.meta-preferences{display:block;margin:12px auto;text-decoration:underline;font:inherit;cursor:pointer}
