    @import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Cormorant+Garamond:wght@600;700&display=swap");

    :root {
      color-scheme: light;
      --bg: #eef3f8;
      --canvas: #f8fbff;
      --surface: rgba(249, 252, 255, 0.88);
      --surface-strong: #ffffff;
      --ink: #262b31;
      --ink-soft: #5a6470;
      --brand: #0b5d96;
      --brand-deep: #074673;
      --accent: #da2d30;
      --accent-deep: #b92528;
      --sage: #d6e8f6;
      --gold: #da2d30;
      --rose: #f4d9dc;
      --sky: #cbe2f6;
      --line: rgba(38, 45, 54, 0.1);
      --shadow: 0 30px 80px rgba(11, 93, 150, 0.16);
      --shadow-soft: 0 20px 45px rgba(11, 93, 150, 0.1);
      --radius-xl: 34px;
      --radius-lg: 24px;
      --radius-md: 18px;
      --radius-sm: 14px;
      --container: 1380px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      min-height: 100vh;
      font-family: "Manrope", sans-serif;
      color: var(--ink);
      background: linear-gradient(180deg, #f7fafe 0%, var(--bg) 100%);
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    img {
      max-width: 100%;
      display: block;
    }

    .page-shell {
      width: min(calc(100% - 40px), var(--container));
      margin: 28px auto;
      display: block;
    }

    .main-panel {
      backdrop-filter: blur(10px);
    }

    .main-panel {
      background: rgba(255, 255, 255, 0.5);
      border: 1px solid rgba(255, 255, 255, 0.65);
      border-radius: 7px;
      box-shadow: var(--shadow);
      overflow: hidden;
    }

    .site-header {
      padding: 28px 42px 18px;
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(245, 250, 255, 0.88));
      border-bottom: 1px solid rgba(38, 45, 54, 0.08);
    }

    .header-top,
    .header-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
    }

    .header-bottom {
      margin-top: 18px;
      padding-top: 12px;
      border-top: 1px solid rgba(38, 45, 54, 0.08);
    }

    .brand {
      display: inline-flex;
      align-items: center;
      min-width: 0;
    }

    .brand-mark {
      width: clamp(190px, 24vw, 280px);
      flex: 0 0 auto;
    }

    .brand-mark img {
      width: 100%;
      height: auto;
      object-fit: contain;
    }

    .search-wrap {
      flex: 1;
      max-width: 440px;
      position: relative;
    }

    .search-wrap input {
      width: 100%;
      height: 54px;
      border: 1px solid rgba(38, 45, 54, 0.1);
      border-radius: 6px;
      background: rgba(245, 249, 255, 0.9);
      padding: 0 52px 0 18px;
      font: 500 0.95rem/1 "Manrope", sans-serif;
      color: var(--ink);
      outline: none;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .search-wrap input:focus {
      border-color: rgba(11, 93, 150, 0.35);
      box-shadow: 0 0 0 4px rgba(11, 93, 150, 0.12);
    }

    .search-wrap svg {
      position: absolute;
      width: 20px;
      height: 20px;
      right: 18px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--ink-soft);
    }

    .header-tools {
      display: flex;
      align-items: center;
      gap: 14px;
      white-space: nowrap;
    }

    .tool-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      font-size: 0.93rem;
      font-weight: 600;
      color: var(--ink-soft);
    }

    .tool-dot {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      border: 1px solid rgba(38, 45, 54, 0.1);
      background: rgba(255, 255, 255, 0.72);
    }

    .btn,
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 48px;
      padding: 0 22px;
      border-radius: 7px;
      font-size: 0.95rem;
      font-weight: 700;
      transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    }

    .btn {
      color: #fffdf8;
      background: linear-gradient(135deg, #247ab5, #0b5d96);
      box-shadow: 0 12px 26px rgba(11, 93, 150, 0.28);
    }

    .btn:hover,
    .btn-outline:hover {
      transform: translateY(-1px);
    }

    .btn-outline {
      color: var(--brand-deep);
      background: rgba(255, 255, 255, 0.7);
      border: 1px solid rgba(38, 45, 54, 0.14);
    }

    .catalog-pill {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 0 20px;
      min-height: 52px;
      border-radius: 7px;
      background: linear-gradient(135deg, #e14e50, #b92528);
      color: #fff;
      font-weight: 700;
      box-shadow: 0 12px 30px rgba(185, 37, 40, 0.3);
    }

    .menu-toggle {
      display: none;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      width: 100%;
      min-height: 46px;
      padding: 0 14px;
      border: 1px solid rgba(38, 45, 54, 0.14);
      border-radius: 7px;
      background: rgba(255, 255, 255, 0.84);
      color: var(--brand-deep);
      font: 700 0.92rem/1 "Manrope", sans-serif;
      cursor: pointer;
    }

    .menu-toggle:focus-visible {
      outline: 0;
      border-color: rgba(11, 93, 150, 0.4);
      box-shadow: 0 0 0 4px rgba(11, 93, 150, 0.12);
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 26px;
      flex-wrap: wrap;
    }

    .nav-links a {
      position: relative;
      font-size: 0.96rem;
      font-weight: 600;
      color: var(--ink-soft);
    }

    .nav-links a.active,
    .nav-links a:hover {
      color: var(--brand-deep);
    }

    .nav-links a.active::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -10px;
      height: 2px;
      border-radius: 14px;
      background: var(--brand);
    }

    .gift-card {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-weight: 700;
      color: var(--gold);
    }

    .hero {
      position: relative;
      overflow: hidden;
      padding: 52px 42px 36px;
      background:
        radial-gradient(circle at 20% 20%, rgba(214, 232, 246, 0.85), transparent 30%),
        radial-gradient(circle at 78% 22%, rgba(246, 216, 218, 0.55), transparent 24%),
        linear-gradient(135deg, #f2f7fd 0%, #f9fbff 68%, #f2f5fb 100%);
    }

    .hero-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr);
      gap: 24px;
      align-items: center;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 18px;
      padding: 8px 14px;
      border-radius: 14px;
      background: rgba(11, 93, 150, 0.12);
      color: var(--brand);
      font-size: 0.82rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .hero-copy h1,
    .section-heading h2,
    .promo-copy h3,
    .deal-copy h3,
    .story-copy h2 {
      margin: 0;
      font-family: "Cormorant Garamond", serif;
      letter-spacing: -0.04em;
      line-height: 0.92;
    }

    .hero-copy h1 {
      max-width: 11ch;
      font-size: clamp(3.4rem, 6vw, 5.6rem);
      color: var(--brand-deep);
    }

    .hero-copy p {
      max-width: 33rem;
      margin: 20px 0 0;
      font-size: 1.03rem;
      line-height: 1.8;
      color: var(--ink-soft);
    }

    .hero-actions {
      display: flex;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
      margin-top: 28px;
    }

    .hero-visual {
      min-height: 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .hero-art {
      width: min(100%, 560px);
    }

    .hero-art img {
      display: block;
      width: 100%;
      height: auto;
      object-fit: cover;
      border-radius: 0;
      border: 0;
      box-shadow: none;
    }

    .content-stack {
      padding: 24px 42px 48px;
      background: linear-gradient(180deg, #f6f9fd 0%, #f1f5fb 100%);
    }

    .promo-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      margin-top: 18px;
    }

    .promo-card {
      border-radius: 6px;
      border: 1px solid rgba(38, 45, 54, 0.08);
      background: var(--promo-bg, #eef5fd);
      box-shadow: var(--shadow-soft);
      overflow: hidden;
    }

    .promo-image-link {
      display: block;
      background: rgba(255, 255, 255, 0.65);
      border-bottom: 1px solid rgba(38, 45, 54, 0.08);
    }

    .promo-art {
      display: block;
      width: 100%;
      height: 180px;
      object-fit: cover;
    }

    .promo-body {
      padding: 16px;
    }

    .promo-tag {
      display: inline-flex;
      margin-bottom: 8px;
      padding: 4px 10px;
      border-radius: 14px;
      font-size: 0.74rem;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      font-weight: 800;
      color: var(--brand-deep);
      background: rgba(255, 255, 255, 0.85);
      border: 1px solid rgba(38, 45, 54, 0.06);
    }

    .promo-card h3 {
      margin: 0;
      font-size: 1.22rem;
      line-height: 1.2;
      color: var(--brand-deep);
      font-family: "Cormorant Garamond", serif;
    }

    .promo-card p {
      margin: 8px 0 14px;
      font-size: 0.9rem;
      line-height: 1.6;
      color: var(--ink-soft);
    }

    .section {
      margin-top: 46px;
    }

    .section-heading {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 20px;
      margin-bottom: 22px;
    }

    .section-heading h2 {
      font-size: clamp(2.2rem, 3.4vw, 3.2rem);
      color: var(--brand-deep);
    }

    .section-heading p {
      max-width: 28rem;
      margin: 10px 0 0;
      color: var(--ink-soft);
      line-height: 1.75;
    }

    .view-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 0.97rem;
      font-weight: 800;
      color: var(--brand);
    }

    .categories {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 16px;
    }

    .category-card {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: 62% 38%;
      align-items: stretch;
      min-height: 208px;
      padding: 0;
      border-radius: 7px;
      text-align: left;
      overflow: hidden;
      background: rgba(255, 255, 255, 0.78);
      border: 1px solid rgba(38, 45, 54, 0.06);
      box-shadow: var(--shadow-soft);
    }

    .category-icon {
      width: 100%;
      height: 100%;
      margin: 0;
      border-radius: 0;
      display: grid;
      place-items: center;
      overflow: hidden;
      font-size: 2rem;
      background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.8), transparent 28%),
        linear-gradient(135deg, #e9f3fc, #d6e8f6);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
    }

    .category-icon.has-image {
      background: #edf4fb;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
    }

    .category-icon img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      border-radius: 0;
    }

    .category-content {
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      gap: 0;
      padding: 8px 12px 9px;
    }

    .category-card strong {
      font-size: 1rem;
      line-height: 1.25;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .category-card span {
      font-size: 0.82rem;
      color: var(--ink-soft);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .category-content p {
      margin: 0;
      line-height: 1;
    }

    .category-content .view-link {
      display: inline-flex;
      max-width: 100%;
      font-size: 0.82rem;
      gap: 6px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .products-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }

    .product-card {
      position: relative;
      overflow: hidden;
      padding: 18px;
      border-radius: 7px;
      background: rgba(255, 255, 255, 0.82);
      border: 1px solid rgba(38, 45, 54, 0.06);
      box-shadow: var(--shadow-soft);
    }

    .product-badge {
      position: absolute;
      top: 16px;
      left: 16px;
      z-index: 3;
      display: inline-flex;
      align-items: center;
      min-height: 28px;
      padding: 0 10px;
      border-radius: 14px;
      font-size: 0.74rem;
      font-weight: 800;
      color: #fff;
      background: linear-gradient(135deg, #e34f52, #b92528);
    }

    .product-fav {
      position: absolute;
      top: 16px;
      right: 16px;
      z-index: 3;
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.84);
      border: 1px solid rgba(38, 45, 54, 0.08);
      color: var(--accent);
      font-size: 1rem;
    }

    .product-visual {
      width: 100%;
      height: auto;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      display: grid;
      place-items: center;
      margin-bottom: 18px;
      border-radius: 6px;
      background:
        radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.85), transparent 30%),
        linear-gradient(180deg, #eef5fd, #f8fbff);
    }

    .product-visual img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
    }

    .product-card h3 {
      margin: 0;
      font-size: 1.04rem;
      letter-spacing: -0.02em;
      line-height: 1.3;
    }

    .product-card p {
      margin: 6px 0 0;
      font-size: 0.88rem;
      line-height: 1.45;
      color: var(--ink-soft);
    }

    .product-meta {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 12px;
      margin-top: 16px;
    }

    .product-meta .btn-outline {
      white-space: nowrap;
      flex-shrink: 0;
    }

    .price strong {
      display: block;
      font-size: 1.18rem;
      color: var(--brand-deep);
    }

    .price span {
      display: block;
      margin-top: 2px;
      font-size: 0.78rem;
      color: var(--ink-soft);
    }

    .stars {
      margin-top: 10px;
      color: var(--accent);
      font-size: 0.9rem;
      letter-spacing: 0.14em;
    }

    .story-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
      gap: 22px;
      align-items: stretch;
    }

    .story-card,
    .testimonial-card,
    .newsletter-card,
    .mini-products,
    .deal-card,
    .insight-card {
      border-radius: 6px;
      background: rgba(255, 255, 255, 0.82);
      border: 1px solid rgba(38, 45, 54, 0.07);
      box-shadow: var(--shadow-soft);
      overflow: hidden;
    }

    .story-card {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(280px, 0.88fr);
      background: linear-gradient(135deg, rgba(237, 245, 253, 0.95), rgba(246, 240, 248, 0.95));
    }

    .story-card.guide-vertical {
      grid-template-columns: 1fr;
    }

    .story-copy {
      padding: 34px;
    }

    .story-copy h2 {
      font-size: clamp(2.3rem, 3vw, 3.4rem);
      color: var(--brand-deep);
    }

    .story-copy p {
      margin: 16px 0 0;
      color: var(--ink-soft);
      line-height: 1.82;
    }

    .benefit-list {
      margin: 22px 0 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 10px;
    }

    .benefit-list li {
      padding: 12px 14px;
      border-radius: 7px;
      background: rgba(255, 255, 255, 0.72);
      border: 1px solid rgba(38, 45, 54, 0.08);
      color: var(--ink-soft);
      line-height: 1.6;
    }

    .benefit-list strong {
      color: var(--brand-deep);
    }

    .story-visual {
      position: relative;
      min-height: 100%;
      background:
        radial-gradient(circle at 70% 20%, rgba(218, 45, 48, 0.2), transparent 24%),
        radial-gradient(circle at 18% 85%, rgba(203, 226, 246, 0.72), transparent 24%),
        linear-gradient(180deg, #f3f8fe, #edf4fb);
      padding: 26px;
      display: grid;
      place-items: center;
    }

    .story-card.guide-vertical .story-visual {
      min-height: 0;
      padding-top: 0;
    }

    .benefits-panel {
      width: min(100%, 380px);
      padding: 22px;
      border-radius: 7px;
      background: rgba(255, 255, 255, 0.82);
      border: 1px solid rgba(38, 45, 54, 0.08);
      box-shadow: var(--shadow);
    }

    .benefits-panel strong {
      display: block;
      font-size: 1.2rem;
      margin-bottom: 6px;
    }

    .benefits-panel p {
      margin: 0;
      font-size: 0.93rem;
      line-height: 1.7;
      color: var(--ink-soft);
    }

    .benefits-grid {
      margin-top: 18px;
      display: grid;
      gap: 10px;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .story-card.guide-vertical .benefits-panel {
      width: min(100%, 760px);
    }

    .story-card.guide-vertical .benefits-grid {
      grid-template-columns: 1fr;
    }

    .benefit-chip {
      padding: 12px 14px;
      border-radius: 7px;
      background: rgba(240, 246, 253, 0.9);
      border: 1px solid rgba(38, 45, 54, 0.08);
    }

    .benefit-chip h4 {
      margin: 0;
      font-size: 0.9rem;
      font-weight: 800;
      color: var(--brand-deep);
    }

    .benefit-chip p {
      margin: 6px 0 0;
      font-size: 0.82rem;
      line-height: 1.55;
      color: var(--ink-soft);
    }

    .split-stack {
      display: grid;
      gap: 22px;
    }

    .side-card {
      padding: 28px;
    }

    .side-card h3 {
      margin: 0;
      font-size: 2rem;
      line-height: 1;
      font-family: "Cormorant Garamond", serif;
      letter-spacing: -0.04em;
      color: var(--brand-deep);
    }

    .mini-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin-top: 20px;
    }

    .mini-item {
      padding: 14px;
      border-radius: 6px;
      background: rgba(241, 247, 253, 0.9);
      border: 1px solid rgba(38, 45, 54, 0.06);
    }

    .mini-item strong {
      display: block;
      margin-top: 10px;
      font-size: 0.94rem;
    }

    .mini-item span {
      display: block;
      margin-top: 4px;
      font-size: 0.82rem;
      color: var(--ink-soft);
    }

    .deal-card {
      background: linear-gradient(135deg, #edf6fd, #f8fbff 52%, #f3f7fc);
    }

    .deal-copy {
      padding: 30px;
    }

    .deal-copy h3 {
      font-size: 3rem;
      color: var(--brand-deep);
    }

    .deal-copy p {
      margin: 16px 0 0;
      line-height: 1.75;
      color: var(--ink-soft);
    }

    .countdown {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      margin-top: 24px;
    }

    .count-unit {
      padding: 14px 10px;
      border-radius: 7px;
      text-align: center;
      color: #fff;
      background: linear-gradient(135deg, #e14e50, #b92528);
    }

    .count-unit strong {
      display: block;
      font-size: 1.3rem;
    }

    .count-unit span {
      display: block;
      margin-top: 4px;
      font-size: 0.72rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      opacity: 0.9;
    }

    .deal-actions {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
      margin-top: 24px;
    }

    .card-title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin-bottom: 18px;
    }

    .card-title strong {
      font-size: 1.5rem;
      letter-spacing: -0.04em;
    }

    .card-title a {
      font-size: 0.92rem;
      font-weight: 800;
      color: var(--brand);
    }

    .stack-list {
      display: grid;
      gap: 14px;
    }

    .stack-item {
      display: grid;
      grid-template-columns: 72px minmax(0, 1fr);
      gap: 14px;
      align-items: center;
      padding: 12px;
      border-radius: 6px;
      background: rgba(241, 247, 253, 0.9);
      border: 1px solid rgba(38, 45, 54, 0.06);
    }

    .stack-thumb {
      height: 72px;
      border-radius: 7px;
      display: grid;
      place-items: center;
      background:
        radial-gradient(circle at 50% 25%, rgba(255, 255, 255, 0.86), transparent 28%),
        linear-gradient(180deg, #e9f3fc, #f3f8ff);
    }

    .stack-item strong {
      display: block;
      font-size: 0.98rem;
    }

    .stack-item span {
      display: block;
      margin-top: 6px;
      font-size: 0.84rem;
      color: var(--ink-soft);
    }

    .testimonial-card {
      padding: 28px;
      background: linear-gradient(135deg, rgba(234, 244, 253, 0.95), rgba(247, 241, 248, 0.95));
    }

    .quote {
      margin: 18px 0 0;
      font-size: 1.02rem;
      line-height: 1.9;
      color: var(--ink-soft);
    }

    .client {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-top: 22px;
    }

    .avatar {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: #fff;
      font-weight: 800;
      background: linear-gradient(135deg, #0a4f82, #2f7fb6);
    }

    .client strong {
      display: block;
    }

    .client span {
      display: block;
      margin-top: 3px;
      font-size: 0.84rem;
      color: var(--ink-soft);
    }

    .newsletter-card {
      padding: 30px;
      background: linear-gradient(135deg, #063f68, #0b5d96 58%, #3c7aa9);
      color: #f5f8fc;
    }

    .newsletter-card p {
      margin: 12px 0 0;
      line-height: 1.8;
      color: rgba(245, 248, 252, 0.84);
    }

    .newsletter-form {
      display: grid;
      gap: 12px;
      margin-top: 22px;
    }

    .newsletter-form input {
      width: 100%;
      min-height: 50px;
      padding: 0 16px;
      border: 0;
      border-radius: 7px;
      font: 500 0.95rem/1 "Manrope", sans-serif;
      color: var(--ink);
    }

    .newsletter-note {
      margin-top: 12px;
      font-size: 0.82rem;
      color: rgba(245, 248, 252, 0.74);
    }

    .newsletter-status {
      display: none;
      margin-top: 14px;
      padding: 12px 14px;
      border-radius: 7px;
      font-size: 0.88rem;
      font-weight: 700;
      color: #07395c;
      background: rgba(214, 232, 246, 0.95);
    }

    .newsletter-status.is-visible {
      display: block;
    }

    .illustration-icon {
      width: 100%;
      height: 100%;
    }

    .animate-rise {
      opacity: 0;
      transform: translateY(26px);
      animation: rise 0.8s ease forwards;
    }

    .delay-1 { animation-delay: 0.1s; }
    .delay-2 { animation-delay: 0.22s; }
    .delay-3 { animation-delay: 0.34s; }
    .delay-4 { animation-delay: 0.46s; }
    .delay-5 { animation-delay: 0.58s; }

    @keyframes rise {
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @media (max-width: 1100px) {
      .header-top,
      .header-bottom,
      .hero-grid,
      .story-card,
      .story-grid {
        grid-template-columns: 1fr;
        display: grid;
      }

      .header-top .brand {
        justify-self: center;
      }

      .header-top,
      .header-bottom {
        align-items: start;
      }

      .header-bottom {
        align-items: stretch;
        gap: 12px;
      }

      .menu-toggle {
        display: inline-flex;
      }

      .header-bottom .nav-links {
        width: 100%;
        justify-content: center;
      }

      .header-bottom.menu-ready .nav-links {
        display: none;
      }

      .header-bottom.menu-ready.is-open .nav-links {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
      }

      .header-bottom.menu-ready .nav-links a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 0 14px;
        border-radius: 6px;
        border: 1px solid rgba(38, 45, 54, 0.1);
        background: rgba(255, 255, 255, 0.8);
        text-align: center;
      }

      .header-bottom.menu-ready .nav-links a.active::after {
        display: none;
      }

      .header-bottom.menu-ready .nav-links a.active {
        border-color: rgba(11, 93, 150, 0.32);
        background: rgba(215, 233, 248, 0.9);
      }

      .search-wrap,
      .hero-copy h1,
      .hero-copy p {
        max-width: none;
      }

      .products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .categories {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .promo-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 820px) {
      .page-shell {
        width: min(calc(100% - 22px), var(--container));
        margin: 12px auto 22px;
      }

      .site-header,
      .hero,
      .content-stack,
      .side-card,
      .deal-copy,
      .testimonial-card,
      .newsletter-card {
        padding-left: 20px;
        padding-right: 20px;
      }

      .main-panel {
        border-radius: 6px;
      }

      .brand-mark {
        width: clamp(160px, 46vw, 220px);
      }

      .header-tools {
        flex-wrap: wrap;
      }

      .nav-links {
        gap: 16px;
      }

      .hero-copy h1 {
        font-size: clamp(2.7rem, 13vw, 4.4rem);
      }

      .countdown {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .products-grid,
      .categories,
      .mini-grid {
        grid-template-columns: 1fr;
      }

      .benefits-panel {
        width: 100%;
      }

      .benefits-grid {
        grid-template-columns: 1fr;
      }

      .hero-visual,
      .hero-art {
        min-height: auto;
        height: auto;
      }
    }

.footer-shell {
  margin-top: 34px;
  padding: 26px 42px 38px;
  border-top: 1px solid rgba(38, 45, 54, 0.08);
  background: rgba(255, 255, 255, 0.62);
}

.footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 18px;
  align-items: center;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.footer-links a {
  color: var(--ink-soft);
  font-weight: 600;
  font-size: 0.92rem;
}

.footer-copy {
  text-align: right;
  color: var(--ink-soft);
  font-size: 0.86rem;
}

.page-section {
  padding: 34px 42px 48px;
  background: linear-gradient(180deg, #f6f9fd 0%, #f1f5fb 100%);
}

.page-title {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  letter-spacing: -0.04em;
  line-height: 0.95;
  color: var(--brand-deep);
}

.page-subtitle {
  margin: 12px 0 0;
  max-width: 42rem;
  color: var(--ink-soft);
  line-height: 1.8;
}

.breadcrumb {
  margin-bottom: 12px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 0.85rem;
  color: var(--ink-soft);
}

.breadcrumb a {
  color: var(--brand);
  font-weight: 700;
}

.filter-bar {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.12);
  background: rgba(255, 255, 255, 0.78);
  color: var(--ink-soft);
  font-size: 0.85rem;
  font-weight: 700;
}

.filter-chip.active {
  border-color: rgba(11, 93, 150, 0.4);
  color: var(--brand-deep);
  background: rgba(215, 233, 248, 0.9);
}

.catalog-grid {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.product-card .meta-inline {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.meta-tag {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 14px;
  padding: 0 8px;
  font-size: 0.74rem;
  font-weight: 700;
  background: rgba(11, 93, 150, 0.1);
  color: var(--brand-deep);
}

.empty-state {
  margin-top: 24px;
  padding: 22px;
  border-radius: 6px;
  border: 1px dashed rgba(38, 45, 54, 0.2);
  background: rgba(255, 255, 255, 0.8);
  color: var(--ink-soft);
}

.paginator {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.paginator-info {
  color: var(--ink-soft);
  font-size: 0.9rem;
}

.paginator-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.paginator-links a,
.paginator-links span {
  min-width: 40px;
  min-height: 40px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(38, 45, 54, 0.12);
  background: rgba(255, 255, 255, 0.88);
  font-weight: 700;
  color: var(--ink-soft);
}

.paginator-links .active {
  color: var(--brand-deep);
  border-color: rgba(11, 93, 150, 0.42);
  background: rgba(214, 232, 246, 0.8);
}

.product-detail-wrap {
  margin-top: 24px;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 22px;
}

.panel-card {
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(38, 45, 54, 0.07);
  box-shadow: var(--shadow-soft);
  padding: 24px;
}

.product-main-image {
  border-radius: 6px;
  overflow: hidden;
  background: linear-gradient(180deg, #eef5fd, #f8fbff);
  border: 1px solid rgba(38, 45, 54, 0.06);
}

.product-main-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  aspect-ratio: 1 / 1;
}

.gallery-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.gallery-thumb {
  display: block;
  width: 100%;
  padding: 0;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid rgba(38, 45, 54, 0.08);
  background: #fff;
}

.gallery-grid img {
  width: 100%;
  height: 88px;
  object-fit: cover;
}


.detail-title {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: -0.04em;
  line-height: 0.96;
  color: var(--brand-deep);
}

.detail-summary {
  margin: 12px 0 0;
  color: var(--ink-soft);
  line-height: 1.8;
}

.detail-price {
  margin-top: 16px;
  font-size: 2rem;
  color: var(--brand-deep);
  font-weight: 800;
}

.ficha-grid {
  margin-top: 18px;
  display: grid;
  gap: 10px;
}

.ficha-item {
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.08);
  background: rgba(244, 249, 255, 0.92);
  padding: 12px 14px;
}

.ficha-item strong {
  display: block;
  font-size: 0.9rem;
  color: var(--brand-deep);
}

.ficha-item span {
  display: block;
  margin-top: 6px;
  color: var(--ink-soft);
  line-height: 1.65;
  font-size: 0.9rem;
}

.detail-description {
  margin-top: 18px;
  color: var(--ink-soft);
  line-height: 1.82;
}

.related-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.banner-grid {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.banner-card {
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid rgba(38, 45, 54, 0.08);
  background: var(--banner-bg, #f4f8fd);
  box-shadow: var(--shadow-soft);
}

.banner-image-link {
  display: block;
}

.banner-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  border-bottom: 1px solid rgba(38, 45, 54, 0.08);
}

.banner-copy {
  padding: 16px;
}

.banner-copy h3 {
  margin: 0;
  font-size: 1.3rem;
  color: var(--brand-deep);
  font-family: "Cormorant Garamond", serif;
}

.banner-copy p {
  margin: 10px 0 0;
  color: var(--ink-soft);
  line-height: 1.7;
  font-size: 0.9rem;
}

.content-card {
  margin-top: 24px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(38, 45, 54, 0.08);
  box-shadow: var(--shadow-soft);
  padding: 26px;
}

.content-card .formatted {
  color: var(--ink-soft);
  line-height: 1.86;
}

.content-card .formatted h2,
.content-card .formatted h3,
.content-card .formatted h4 {
  color: var(--brand-deep);
  margin: 18px 0 8px;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: -0.03em;
}

.content-card .formatted p {
  margin: 0 0 12px;
}

.branch-grid {
  margin-top: 24px;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 20px;
  align-items: start;
}

.branch-map-card {
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(38, 45, 54, 0.08);
  box-shadow: var(--shadow-soft);
  padding: 18px;
}

.branch-map-head strong {
  display: block;
  color: var(--brand-deep);
  font-size: 1.05rem;
}

.branch-map-head p {
  margin: 8px 0 0;
  color: var(--ink-soft);
  line-height: 1.7;
  font-size: 0.92rem;
}

.branch-map-frame {
  width: 100%;
  min-height: 420px;
  margin-top: 14px;
  border: 0;
  border-radius: 6px;
  background: rgba(234, 244, 253, 0.9);
}

.contact-grid {
  margin-top: 24px;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 20px;
}

.contact-list {
  display: grid;
  gap: 12px;
}

.contact-item {
  padding: 14px;
  border-radius: 7px;
  background: rgba(241, 247, 253, 0.92);
  border: 1px solid rgba(38, 45, 54, 0.06);
}

.form-stack {
  display: grid;
  gap: 12px;
}

.form-stack label {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--ink-soft);
}

.form-stack input,
.form-stack textarea {
  width: 100%;
  border: 1px solid rgba(38, 45, 54, 0.12);
  border-radius: 6px;
  min-height: 46px;
  padding: 0 12px;
  font: 500 0.93rem/1.4 "Manrope", sans-serif;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.96);
}

.form-stack textarea {
  min-height: 140px;
  padding-top: 10px;
  resize: vertical;
}

.alert {
  margin-top: 14px;
  border-radius: 6px;
  padding: 12px 14px;
  font-size: 0.9rem;
  line-height: 1.6;
}

.alert.success {
  background: #e9f8ee;
  border: 1px solid #a8ddb8;
  color: #1f6a37;
}

.alert.error {
  background: #fff1f1;
  border: 1px solid #f0b4b4;
  color: #932222;
}

.status-404 {
  text-align: center;
  padding: 54px 20px;
}

.status-404 h1 {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.6rem, 7vw, 4.2rem);
  color: var(--brand-deep);
}

.status-404 p {
  margin: 12px auto 0;
  max-width: 34rem;
  color: var(--ink-soft);
}

@media (max-width: 1100px) {
  .catalog-grid,
  .related-grid,
  .banner-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-detail-wrap,
  .contact-grid,
  .branch-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-copy {
    text-align: left;
  }
}

@media (max-width: 820px) {
  .page-section,
  .footer-shell {
    padding-left: 20px;
    padding-right: 20px;
  }

  .catalog-grid,
  .related-grid,
  .banner-grid,
  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .branch-map-frame {
    min-height: 320px;
  }
}

/* ===========================
   Fase 2 Admin
   =========================== */
.admin-body {
  margin: 0;
  min-height: 100vh;
  font-family: "Manrope", sans-serif;
  color: var(--ink);
  background: linear-gradient(180deg, #f6f9fe 0%, #edf3fa 100%);
}

.admin-shell {
  width: min(calc(100% - 30px), 1500px);
  margin: 16px auto 22px;
}

.admin-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 18px;
  border-radius: 6px;
  border: 1px solid rgba(38, 45, 54, 0.1);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: var(--shadow-soft);
  position: sticky;
  top: 8px;
  z-index: 20;
}

.admin-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  color: var(--brand-deep);
}

.admin-brand img {
  width: 160px;
  height: auto;
}

.admin-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-nav-group {
  position: relative;
}

.admin-nav-group summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 7px;
  border: 1px solid rgba(11, 93, 150, 0.14);
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink-soft);
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

.admin-nav-group summary:focus-visible {
  outline: 2px solid rgba(11, 93, 150, 0.35);
  outline-offset: 2px;
}

.admin-nav-group summary::-webkit-details-marker {
  display: none;
}

.admin-nav-group summary::after {
  content: "▾";
  margin-left: 8px;
  font-size: 0.8rem;
  color: var(--ink-soft);
}

.admin-nav-group[open] summary::after {
  transform: rotate(180deg);
}

.admin-nav-group summary:hover,
.admin-nav-group[open] summary,
.admin-nav-group.is-active summary {
  color: var(--brand-deep);
  border-color: rgba(11, 93, 150, 0.26);
  background: rgba(11, 93, 150, 0.08);
}

.admin-nav-group-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 220px;
  padding: 8px;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.1);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.14);
  display: none;
  gap: 4px;
  z-index: 20;
}

.admin-nav-group[open] .admin-nav-group-menu {
  display: grid;
}

.admin-nav-group-menu a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 7px;
  border: 1px solid transparent;
  color: var(--ink-soft);
  font-size: 0.9rem;
  font-weight: 700;
}

.admin-nav-group-menu a:hover,
.admin-nav-group-menu a.active {
  color: var(--brand-deep);
  border-color: rgba(11, 93, 150, 0.26);
  background: rgba(11, 93, 150, 0.08);
}

.admin-user-box {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.admin-user-box small {
  color: var(--ink-soft);
  font-weight: 700;
}

.btn-small {
  min-height: 34px;
  padding: 0 12px;
  font-size: 0.84rem;
}

.admin-main {
  margin-top: 16px;
  display: grid;
  gap: 14px;
}

.admin-body-embed {
  background: #fff;
  min-height: auto;
}

.admin-body-embed .admin-main {
  margin-top: 0;
  padding: 10px 12px;
}

.admin-alert {
  padding: 12px 14px;
  border-radius: 6px;
  border: 1px solid rgba(38, 45, 54, 0.08);
  background: #fff;
  font-size: 0.92rem;
}

.admin-alert.success {
  border-color: rgba(21, 128, 61, 0.2);
  background: rgba(220, 252, 231, 0.55);
  color: #166534;
}

.admin-alert.error {
  border-color: rgba(185, 37, 40, 0.22);
  background: rgba(254, 226, 226, 0.58);
  color: #991b1b;
}

.admin-alert.info {
  border-color: rgba(29, 78, 216, 0.18);
  background: rgba(219, 234, 254, 0.55);
  color: #1d4ed8;
}

.admin-section {
  display: grid;
  gap: 14px;
}

.admin-two-col {
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.95fr);
  align-items: start;
}

.admin-products-grid {
  grid-template-columns: minmax(0, 1.6fr) minmax(380px, 0.9fr);
  align-items: start;
}

.admin-span-2 {
  grid-column: 1;
}

.admin-span-full {
  grid-column: 1 / -1;
}

.admin-card {
  padding: 18px;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.1);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-soft);
}

.admin-heading h1,
.admin-card h2 {
  margin: 0;
  color: var(--brand-deep);
  font-family: "Cormorant Garamond", serif;
  letter-spacing: -0.03em;
}

.admin-heading p {
  margin: 6px 0 0;
  color: var(--ink-soft);
}

.admin-heading-split {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.admin-heading-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.admin-heading.compact h1 {
  font-size: 2.1rem;
}

.admin-stats-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.admin-stat-card {
  padding: 14px;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.08);
  background: rgba(255, 255, 255, 0.9);
}

.admin-stat-card span {
  font-size: 0.78rem;
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 800;
}

.admin-stat-card strong {
  display: block;
  margin-top: 6px;
  font-size: 1.7rem;
  color: var(--brand-deep);
}

.admin-stat-card small {
  display: block;
  margin-top: 4px;
  color: var(--ink-soft);
  font-size: 0.82rem;
}

.admin-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.admin-kpi-card {
  padding: 14px;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.08);
  background: rgba(255, 255, 255, 0.92);
}

.admin-kpi-label {
  display: block;
  font-size: 0.78rem;
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 800;
}

.admin-kpi-value {
  display: block;
  margin-top: 6px;
  font-size: 1.6rem;
  color: var(--brand-deep);
}

.admin-table-wrap {
  overflow-x: auto;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.admin-table-products {
  min-width: 1220px;
}

.admin-table th,
.admin-table td {
  padding: 10px 9px;
  border-bottom: 1px solid rgba(38, 45, 54, 0.1);
  text-align: left;
  vertical-align: top;
  font-size: 0.9rem;
}

.admin-table th {
  font-size: 0.77rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-soft);
}

.table-sub {
  display: block;
  margin-top: 3px;
  color: var(--ink-soft);
  font-size: 0.78rem;
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 14px;
  margin-right: 4px;
  font-size: 0.74rem;
  font-weight: 800;
}

.badge.success {
  background: rgba(22, 163, 74, 0.15);
  color: #166534;
}

.badge.muted {
  background: rgba(100, 116, 139, 0.16);
  color: #334155;
}

.badge.warn {
  background: rgba(245, 158, 11, 0.18);
  color: #92400e;
}

.badge.info {
  background: rgba(2, 132, 199, 0.16);
  color: #0c4a6e;
}

.admin-actions-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.admin-actions-inline form {
  margin: 0;
}

.admin-actions-inline-nowrap {
  flex-wrap: nowrap;
  white-space: nowrap;
}

.admin-actions-inline-nowrap form {
  display: inline-flex;
  margin: 0;
}

.admin-actions-inline-nowrap .btn-small {
  white-space: nowrap;
}

.admin-page-toolbar {
  margin: 12px 0 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.admin-collapsible {
  margin-top: 14px;
  padding: 10px;
  border-radius: 6px;
  border: 1px solid rgba(38, 45, 54, 0.12);
  background: rgba(255, 255, 255, 0.9);
}

.admin-collapsible summary {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--brand-deep);
}

.admin-collapsible summary::after {
  content: '+';
  margin-left: auto;
  font-size: 1.1rem;
  line-height: 1;
}

.admin-collapsible[open] summary::after {
  content: '-';
}

.admin-collapsible > .admin-form-grid {
  margin-top: 10px;
}

.admin-filter-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.admin-filter-field {
  display: grid;
  gap: 6px;
}

.admin-filter-actions {
  grid-column: -2 / -1;
  align-self: end;
  justify-content: flex-end;
}

.admin-filter-actions .btn,
.admin-filter-actions .btn-outline {
  min-width: 140px;
}

.admin-form-grid {
  display: grid;
  gap: 10px;
}

.admin-form-grid.tight {
  gap: 8px;
}

.admin-form-grid label {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.admin-form-grid input,
.admin-form-grid textarea,
.admin-form-grid select {
  min-height: 40px;
  padding: 8px 10px;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.16);
  background: #fff;
  font: 500 0.92rem/1.4 "Manrope", sans-serif;
  color: var(--ink);
}

.admin-form-grid textarea {
  min-height: 96px;
  resize: vertical;
}

.admin-pos-workspace {
  margin-top: 18px;
}

.admin-pos-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 18px;
  align-items: start;
}

.admin-pos-catalog,
.admin-pos-sale {
  min-width: 0;
  border-radius: 7px;
  background: #fff;
  box-shadow: none;
}

.admin-pos-sale {
  position: sticky;
  top: 106px;
}

.admin-pos-finder {
  display: grid;
  gap: 6px;
  margin-top: 12px;
}

.admin-pos-finder label,
.admin-pos-payment-fields label,
.admin-pos-panel > label,
.admin-pos-qty-field label {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.admin-pos-search-bar {
  display: flex;
  gap: 10px;
  align-items: center;
}

.admin-pos-finder input,
.admin-pos-payment-fields select,
.admin-pos-payment-fields input,
.admin-pos-panel textarea,
.admin-pos-qty-field input {
  width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.16);
  background: #fff;
  font: 500 0.92rem/1.4 "Manrope", sans-serif;
  color: var(--ink);
}

.admin-pos-panel textarea {
  min-height: 96px;
  resize: vertical;
}

.admin-pos-catalog-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.admin-pos-product-list {
  margin-top: 14px;
  display: grid;
  gap: 10px;
  max-height: 720px;
  overflow-y: auto;
  padding-right: 4px;
}

.admin-pos-product-card {
  width: 100%;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.1);
  background: #fff;
  color: var(--ink);
  text-align: left;
  transition: border-color 0.18s ease, background 0.18s ease;
}

.admin-pos-product-card:hover,
.admin-pos-product-card:focus-visible {
  border-color: rgba(11, 93, 150, 0.34);
  background: rgba(246, 249, 253, 0.72);
}

.admin-pos-product-thumb {
  width: 56px;
  height: 56px;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid rgba(38, 45, 54, 0.08);
  background: rgba(11, 93, 150, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-deep);
  font-weight: 800;
  font-size: 1.05rem;
}

.admin-pos-product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.admin-pos-product-card-main {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.admin-pos-product-card-main strong {
  font-size: 1rem;
  color: var(--brand-deep);
}

.admin-pos-product-card-main small {
  color: var(--ink-soft);
  line-height: 1.45;
}

.admin-pos-product-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.admin-pos-product-card-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 14px;
  background: rgba(11, 93, 150, 0.08);
  color: var(--brand-deep);
  font-size: 0.84rem;
  font-weight: 700;
}

.admin-pos-product-card-meta strong {
  font-size: 1.08rem;
  color: var(--accent-deep);
}

.admin-pos-summary-card {
  padding: 16px;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.1);
  background: #fff;
  box-shadow: none;
}

.admin-pos-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.admin-pos-summary-grid span {
  display: block;
  font-size: 0.78rem;
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 800;
}

.admin-pos-summary-grid strong {
  display: block;
  margin-top: 6px;
  font-size: 1.3rem;
  color: var(--brand-deep);
}

.admin-pos-summary-grid strong.is-positive {
  color: #2d7a46;
}

.admin-pos-summary-grid strong.is-negative {
  color: var(--accent-deep);
}

.admin-pos-action-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
}

.admin-pos-action-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.admin-pos-action-group-end {
  justify-content: flex-end;
}

.admin-pos-action-label {
  margin-right: 4px;
  font-size: 0.76rem;
  font-weight: 800;
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.admin-pos-sale-stack {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.admin-pos-panel {
  padding: 16px;
  border-radius: 7px;
  background: #fff;
  box-shadow: none;
}

.admin-pos-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.admin-pos-section-head p {
  margin: 4px 0 0;
  color: var(--ink-soft);
  font-size: 0.9rem;
}

.admin-pos-empty-state {
  padding: 18px;
  border-radius: 7px;
  border: 1px dashed rgba(38, 45, 54, 0.18);
  background: rgba(246, 249, 253, 0.78);
}

.admin-pos-empty-state strong {
  display: block;
  color: var(--brand-deep);
}

.admin-pos-empty-state p {
  margin: 6px 0 0;
  color: var(--ink-soft);
}

.admin-pos-payment-list {
  display: grid;
  gap: 12px;
}

.admin-pos-table-wrap {
  overflow-x: auto;
}

.admin-pos-cart-table-wrap {
  border-radius: 7px;
  background: rgba(246, 249, 253, 0.84);
  border: 1px solid rgba(11, 93, 150, 0.08);
  padding: 4px 8px;
}

.admin-pos-payment-table-wrap {
  border-radius: 7px;
}

.admin-pos-cart-table,
.admin-pos-payment-table {
  width: 100%;
  border-collapse: collapse;
}

.admin-pos-cart-table th,
.admin-pos-cart-table td,
.admin-pos-payment-table th,
.admin-pos-payment-table td {
  padding: 10px 8px;
  border-bottom: 1px solid rgba(38, 45, 54, 0.08);
  vertical-align: middle;
}

.admin-pos-cart-table th,
.admin-pos-payment-table th {
  font-size: 0.76rem;
  font-weight: 800;
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: left;
}

.admin-pos-cart-table td strong {
  color: var(--ink);
  font-size: 0.96rem;
}

.admin-pos-cart-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.8);
}

.admin-pos-cart-qty-cell {
  width: 92px;
}

.admin-pos-cart-qty-cell input {
  width: 72px;
  min-height: 38px;
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid rgba(11, 93, 150, 0.22);
  background: rgba(255, 255, 255, 0.96);
  font: 500 0.92rem/1.3 "Manrope", sans-serif;
  color: var(--brand-deep);
}

.admin-pos-cart-price-cell {
  width: 120px;
}

.admin-pos-cart-price-cell strong {
  color: var(--brand-deep);
}

.admin-pos-cart-remove-cell {
  width: 104px;
  text-align: right;
}

.admin-pos-hidden-select {
  display: none;
}

.admin-pos-payment-table select,
.admin-pos-payment-table input {
  width: 100%;
  min-height: 38px;
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid rgba(38, 45, 54, 0.14);
  background: #fff;
  font: 500 0.92rem/1.3 "Manrope", sans-serif;
  color: var(--ink);
}

.admin-pos-payment-amount-cell {
  width: 128px;
}

.admin-pos-ticket-modal {
  max-width: 1040px;
}

.admin-pos-ticket {
  margin-bottom: 12px;
  padding: 14px;
  border-radius: 6px;
  background: rgba(246, 249, 253, 0.92);
}

.admin-pos-ticket p {
  margin: 4px 0 0;
  color: var(--ink-soft);
}

.admin-code-text {
  min-height: 220px !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.84rem;
}

.admin-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
  color: var(--ink);
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.admin-check-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-check-grid {
  display: grid;
  gap: 10px;
}

.admin-check-grid-compact {
  gap: 6px;
}

.admin-check-grid .admin-check {
  align-items: flex-start;
}

.admin-role-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.admin-role-card {
  padding: 14px;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.12);
  background: rgba(248, 250, 252, 0.9);
}

.admin-role-card h2 {
  margin: 0;
  font-size: 1rem;
}

.admin-role-card p {
  margin: 8px 0 0;
  color: var(--ink-soft);
  font-size: 0.9rem;
}

.admin-inline-alert {
  padding: 10px;
  border-radius: 7px;
  border: 1px solid rgba(185, 37, 40, 0.2);
  background: rgba(254, 226, 226, 0.6);
  color: #991b1b;
}

.admin-inline-alert p {
  margin: 4px 0;
}

.admin-login-section {
  max-width: 560px;
  margin: 24px auto;
}

.admin-login-card {
  padding: 22px;
}

.admin-login-brand {
  display: flex;
  justify-content: center;
  margin-bottom: 8px;
}

.admin-login-brand img {
  width: min(240px, 72%);
  height: auto;
  object-fit: contain;
}

.admin-login-card h1 {
  margin: 0;
  font-size: 2.2rem;
}

.admin-login-card p {
  margin: 6px 0 2px;
}

.admin-login-note {
  margin-top: 14px;
  padding: 10px;
  border-radius: 7px;
  background: rgba(203, 226, 246, 0.4);
  color: var(--brand-deep);
  font-size: 0.9rem;
}

.admin-media-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.admin-media-item {
  padding: 10px;
  border-radius: 6px;
  border: 1px solid rgba(38, 45, 54, 0.1);
  background: #fff;
}

.admin-media-item img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 7px;
  margin-bottom: 10px;
  background: #f2f6fb;
}

.admin-media-thumb {
  width: 88px;
  height: 66px;
  object-fit: contain;
  border-radius: 6px;
  border: 1px solid rgba(38, 45, 54, 0.1);
  background: #f2f6fb;
  padding: 3px;
}

.admin-media-thumb-xs {
  width: 54px;
  height: 54px;
}

.admin-media-thumb-md {
  width: 96px;
  height: 72px;
}

.admin-cell-with-thumb {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.admin-thumb-empty {
  min-width: 54px;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 0.7rem;
  color: var(--ink-soft);
  border: 1px dashed rgba(38, 45, 54, 0.24);
  border-radius: 6px;
  background: rgba(242, 246, 251, 0.8);
  padding: 4px 6px;
  line-height: 1.2;
}

.admin-thumb-empty-inline {
  min-height: 40px;
}

.admin-entity-preview {
  margin-bottom: 8px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.admin-select-preview {
  margin-top: -4px;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.admin-inline-alert .admin-media-thumb {
  vertical-align: middle;
  margin-right: 6px;
}

.admin-delete-form {
  margin-top: 8px;
}

.admin-home-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.admin-home-section-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.admin-home-section-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.12);
  background: linear-gradient(180deg, rgba(245, 249, 246, 0.96), rgba(255, 255, 255, 0.96));
}

.admin-home-group {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 14px;
  border-radius: 6px;
  border: 1px solid rgba(38, 45, 54, 0.1);
  background: rgba(255, 255, 255, 0.88);
}

.admin-home-group h3 {
  margin: 2px 0 4px;
  color: var(--brand-deep);
  font-size: 1.02rem;
}

.admin-home-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.admin-home-split {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.9fr);
  gap: 16px;
  align-items: start;
}

.admin-home-field {
  display: grid;
  gap: 6px;
  align-content: start;
}

.admin-home-field-full {
  grid-column: 1 / -1;
}

.admin-home-field-third {
  grid-column: span 1;
}

.admin-home-field textarea {
  min-height: 88px;
}

.admin-home-preview {
  display: grid;
  align-content: start;
}

.admin-home-preview-card {
  display: grid;
  gap: 10px;
  padding: 16px;
  border-radius: 7px;
  border: 1px solid rgba(69, 118, 73, 0.14);
  background:
    radial-gradient(circle at top right, rgba(112, 164, 116, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(240, 247, 240, 0.96), rgba(255, 255, 255, 0.98));
}

.admin-home-preview-card strong {
  color: var(--brand-deep);
  font-size: 1.08rem;
  line-height: 1.3;
}

.admin-home-preview-card p,
.admin-home-preview-card ul,
.admin-home-preview-card small,
.admin-home-preview-card span {
  margin: 0;
}

.admin-home-preview-caption {
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-soft);
}

.admin-home-preview-tag {
  justify-self: start;
  padding: 6px 10px;
  border-radius: 14px;
  background: rgba(69, 118, 73, 0.12);
  color: var(--brand-deep);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.admin-home-preview-actions,
.admin-home-preview-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.admin-home-preview-chip {
  padding: 7px 12px;
  border-radius: 14px;
  background: var(--brand-deep);
  color: #fff;
  font-weight: 700;
  font-size: 0.83rem;
}

.admin-home-preview-chip.is-soft {
  background: rgba(69, 118, 73, 0.14);
  color: var(--brand-deep);
}

.admin-home-preview-list {
  display: grid;
  gap: 8px;
  padding-left: 18px;
  color: var(--ink);
}

.admin-home-actions {
  margin-top: 4px;
}

.admin-home-modal-preview {
  margin: 0;
}

.admin-home-modal-preview.hero,
.admin-home-modal-preview.section,
.admin-home-modal-preview.testimonial-card,
.admin-home-modal-preview.story-grid {
  padding: 0;
}

.admin-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(16, 24, 40, 0.42);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 24px 12px;
  overflow-y: auto;
}

.admin-modal-card {
  width: min(920px, 100%);
  padding: 18px;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.18);
  background: #fff;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.2);
}

.admin-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.admin-modal-header h2 {
  margin: 0;
  color: var(--brand-deep);
}

.admin-modal-note {
  margin: 0 0 12px;
  color: var(--ink-soft);
  font-size: 0.9rem;
}

.admin-modal-actions {
  margin-top: 4px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.admin-library-picker {
  position: fixed;
  inset: 0;
  z-index: 95;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
}

.admin-library-picker[hidden] {
  display: none !important;
}

.admin-library-picker-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.44);
}

.admin-library-picker-panel {
  position: relative;
  width: min(980px, 100%);
  max-height: min(82vh, 760px);
  overflow: auto;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.14);
  background: #fff;
  box-shadow: 0 22px 42px rgba(0, 0, 0, 0.22);
  padding: 14px;
}

.admin-library-picker-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.admin-library-picker-header h3 {
  margin: 0;
  color: var(--brand-deep);
}

.admin-library-search {
  margin-top: 8px;
  display: grid;
  gap: 6px;
}

.admin-library-search label {
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.admin-library-search input {
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.16);
  background: #fff;
  font: 500 0.9rem/1.4 "Manrope", sans-serif;
  color: var(--ink);
}

.admin-library-picker-grid {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
}

.admin-library-item {
  display: grid;
  gap: 6px;
  padding: 8px;
  border-radius: 7px;
  border: 1px solid rgba(38, 45, 54, 0.14);
  background: #fff;
  text-align: left;
  color: var(--ink);
  cursor: pointer;
}

.admin-library-item:hover {
  border-color: rgba(11, 93, 150, 0.35);
  background: rgba(241, 247, 253, 0.72);
}

.admin-library-item.is-selected {
  border-color: rgba(11, 93, 150, 0.52);
  background: rgba(215, 233, 248, 0.76);
}

.admin-library-item img {
  width: 100%;
  height: 92px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid rgba(38, 45, 54, 0.1);
  background: #f2f6fb;
}

.admin-library-item small {
  color: var(--ink-soft);
  font-size: 0.76rem;
  line-height: 1.35;
}

.admin-library-item-empty {
  min-height: 120px;
  align-content: center;
}

.admin-library-item-empty span {
  font-weight: 800;
}

.admin-library-empty {
  margin-top: 8px;
}

@media (max-width: 1180px) {
  .admin-two-col,
  .admin-products-grid {
    grid-template-columns: 1fr;
  }

  .admin-pos-grid {
    grid-template-columns: 1fr;
  }

  .admin-pos-sale {
    position: static;
  }

  .admin-pos-product-list {
    max-height: none;
  }

  .admin-stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-home-grid {
    grid-template-columns: 1fr;
  }

  .admin-home-section-grid {
    grid-template-columns: 1fr;
  }

  .admin-home-split {
    grid-template-columns: 1fr;
  }

  .admin-home-fields {
    grid-template-columns: 1fr;
  }

  .admin-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .admin-header {
    position: static;
    flex-direction: column;
    align-items: stretch;
  }

  .admin-nav {
    width: 100%;
  }

  .admin-nav-group {
    width: 100%;
  }

  .admin-nav-group summary {
    width: 100%;
    justify-content: space-between;
  }

  .admin-nav-group-menu {
    position: static;
    margin-top: 6px;
    min-width: 0;
    box-shadow: none;
  }

  .admin-user-box {
    justify-content: space-between;
  }

  .admin-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-pos-search-bar,
  .admin-pos-action-bar,
  .admin-pos-action-group,
  .admin-pos-action-group-end {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-pos-summary-grid {
    grid-template-columns: 1fr;
  }

  .admin-pos-cart-table th,
  .admin-pos-cart-table td,
  .admin-pos-payment-table th,
  .admin-pos-payment-table td {
    padding-left: 6px;
    padding-right: 6px;
  }

  .admin-heading-actions {
    width: 100%;
  }

  .admin-heading-actions .btn {
    width: 100%;
    text-align: center;
  }

  .admin-filter-grid {
    grid-template-columns: 1fr;
  }

  .admin-filter-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .admin-media-grid {
    grid-template-columns: 1fr;
  }

  .admin-modal-backdrop {
    padding: 10px;
  }

  .admin-modal-card {
    padding: 14px;
  }

  .admin-modal-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-library-picker-panel {
    padding: 12px;
  }

  .admin-library-picker-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
