  @font-face{
    font-family:'Brilliance Summer';
    src:url('fonts/brilliantsummer.otf') format('opentype');
    font-weight:normal;
    font-style:normal;
    font-display:swap;
  }
  :root{
    --pink:#E4177E;
    --pink-dark:#B90F63;
    --pink-pastel:#F9C9DD;
    --blue:#1E74BE;
    --blue-dark:#155A94;
    --blue-pastel:#C9E4F5;
    --cream:#FFF9F6;
    --paper:#FDF2F6;
    --paper-dark:#F3D6E4;
    --card:#FFFFFF;
    --ink:#2B2033;
    --ink-soft:#6B5C6E;

    --ease-spring:cubic-bezier(0.16, 1, 0.3, 1);
    --ease-out:cubic-bezier(0.22, 1, 0.36, 1);
    --shadow-sm:0 2px 8px rgba(43,32,51,0.08);
    --shadow-md:0 10px 24px rgba(43,32,51,0.12);
    --shadow-lg:0 18px 40px rgba(43,32,51,0.16);
    --shadow-pink:0 14px 30px rgba(228,23,126,0.22);
    --shadow-blue:0 14px 30px rgba(30,116,190,0.2);
  }
  *{box-sizing:border-box;}
  html, body{ margin:0; overflow-x:hidden; }
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }
  ::selection{ background:var(--pink-pastel); color:var(--pink-dark); }

  .maki-app{
    font-family:'Work Sans', sans-serif;
    background:var(--paper);
    color:var(--ink);
    min-height:100vh;
    background-image:
      radial-gradient(circle at 1px 1px, rgba(43,32,51,0.05) 1px, transparent 0);
    background-size:22px 22px;
    position:relative;
  }
  .maki-app *::-webkit-scrollbar{ width:10px; height:10px; }
  .maki-app *::-webkit-scrollbar-track{ background:transparent; }
  .maki-app *::-webkit-scrollbar-thumb{ background:var(--paper-dark); border-radius:999px; border:2px solid var(--cream); }
  .maki-app *::-webkit-scrollbar-thumb:hover{ background:var(--pink-pastel); }
  .maki-hero h1, .maki-section-title{ text-wrap:balance; }
  .maki-hero p, .mt-quote{ text-wrap:pretty; }
  .price, .maki-total span:last-child{ font-variant-numeric:tabular-nums; }
  .maki-skip{
    position:absolute; left:-999px; top:0;
    background:var(--blue-dark); color:#fff;
    padding:12px 18px; border-radius:0 0 8px 0;
    font-family:'Baloo 2', sans-serif; font-weight:700; font-size:0.9rem;
    z-index:100; text-decoration:none;
  }
  .maki-skip:focus{ left:0; }
  .maki-header{
    position:sticky; top:0; z-index:50;
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; row-gap:10px;
    padding:10px 5vw;
    background:var(--cream);
    border-bottom:3px solid var(--paper-dark);
    transition:box-shadow 0.3s var(--ease-out);
  }
  .maki-header.scrolled{
    box-shadow:0 6px 20px rgba(43,32,51,0.1);
  }
  .maki-logo-img{ height:76px; display:block; }
  .maki-logo-link{ display:block; line-height:0; order:1; }
  .maki-logo-link:focus-visible{ outline:3px solid var(--pink); outline-offset:3px; border-radius:8px; }
  .maki-nav{ display:flex; gap:20px; flex-wrap:wrap; order:3; width:100%; justify-content:center; }
  .maki-nav-link{
    font-family:'Baloo 2', sans-serif; font-weight:600; font-size:0.9rem;
    color:var(--ink-soft); text-decoration:none;
    padding:4px 2px; border-bottom:2px solid transparent;
    transition:color 0.2s ease, border-color 0.2s ease;
  }
  .maki-nav-link:hover{ color:var(--pink-dark); }
  .maki-nav-link:focus-visible{ outline:3px solid var(--pink); outline-offset:3px; border-radius:4px; }
  .maki-nav-link.active{ color:var(--pink-dark); border-bottom-color:var(--pink); }
  @media (min-width:860px){
    .maki-nav{ order:2; width:auto; }
    .maki-cart-btn{ order:3; }
  }
  .maki-cart-btn{
    position:relative;
    order:2;
    isolation:isolate;
    overflow:hidden;
    display:flex; align-items:center; justify-content:center;
    min-width:132px; height:44px;
    background:var(--blue);
    color:#fff;
    border:none;
    padding:0 18px;
    border-radius:999px;
    font-family:'Baloo 2', sans-serif;
    font-weight:700;
    font-size:0.92rem;
    cursor:pointer;
    transition:transform 0.2s var(--ease-spring);
  }
  .maki-cart-btn:focus-visible{ outline:3px solid var(--pink); outline-offset:3px; }
  .maki-cart-btn:hover, .maki-cart-btn:focus-visible{ transform:translateY(-2px); }
  .maki-cart-icon{ width:20px; height:20px; flex:0 0 auto; }

  /* Interactive hover button — a dot expands from the center and fades in
     to swap the icon+count state for a "Ver carrito" call to action.
     Starts at opacity:0 so it never peeks through the icon/count gap at rest. */
  .ihb-dot{
    position:absolute; left:50%; top:50%;
    width:8px; height:8px; border-radius:50%;
    background:var(--pink);
    opacity:0;
    transform:translate(-50%,-50%) scale(1);
    transition:transform 0.45s var(--ease-spring), opacity 0.2s var(--ease-out);
    z-index:0;
  }
  .maki-cart-btn:hover .ihb-dot, .maki-cart-btn:focus-visible .ihb-dot{
    opacity:1;
    transform:translate(-50%,-50%) scale(30);
  }
  .ihb-state{
    position:relative; z-index:1;
    display:flex; align-items:center; gap:8px;
    transition:transform 0.3s var(--ease-out), opacity 0.3s var(--ease-out);
  }
  .maki-cart-btn:hover .ihb-state--idle, .maki-cart-btn:focus-visible .ihb-state--idle{
    transform:translateX(70px); opacity:0;
  }
  .ihb-state--hover{
    position:absolute; inset:0;
    justify-content:center;
    transform:translateX(70px); opacity:0;
  }
  .maki-cart-btn:hover .ihb-state--hover, .maki-cart-btn:focus-visible .ihb-state--hover{
    transform:translateX(0); opacity:1;
  }
  .ihb-arrow{ width:16px; height:16px; flex:0 0 auto; }
  .maki-cart-count{
    background:var(--pink);
    color:#fff;
    font-size:0.75rem;
    font-weight:700;
    min-width:20px; height:20px;
    border-radius:999px;
    display:flex; align-items:center; justify-content:center;
    padding:0 5px;
  }

  /* HERO */
  .maki-hero{
    display:flex; flex-wrap:wrap;
    align-items:center; justify-content:center;
    gap:48px;
    padding:56px 5vw 50px;
    max-width:1200px; margin:0 auto;
    overflow:hidden;
    position:relative;
    background-image:
      radial-gradient(circle at 1px 1px, rgba(43,32,51,0.05) 1px, transparent 0);
    background-size:22px 22px;
  }
  .maki-hero::before, .maki-hero::after{
    content:"";
    position:absolute;
    border-radius:50%;
    filter:blur(50px);
    z-index:0;
    pointer-events:none;
  }
  .maki-hero::before{
    width:340px; height:340px;
    background:radial-gradient(circle, var(--pink-pastel) 0%, transparent 70%);
    top:-120px; left:-80px;
    opacity:0.6;
  }
  .maki-hero::after{
    width:300px; height:300px;
    background:radial-gradient(circle, var(--blue-pastel) 0%, transparent 70%);
    bottom:-110px; right:-60px;
    opacity:0.6;
  }
  .maki-hero-text, .maki-tag-wrap{ position:relative; z-index:1; }
  .maki-hero-text{ flex:1 1 380px; max-width:480px; }
  .maki-eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-weight:700; font-size:0.8rem; letter-spacing:2px; text-transform:uppercase;
    color:var(--blue-dark);
    margin-bottom:10px;
    font-family:'Baloo 2', sans-serif;
  }
  .maki-eyebrow::before{
    content:"";
    width:7px; height:7px; border-radius:50%;
    background:var(--pink);
    flex:0 0 auto;
  }
  .maki-hero h1{
    font-family:'Brilliance Summer', 'Caveat', cursive;
    font-size:clamp(2.3rem, 6vw + 1rem, 3.4rem);
    line-height:1.15;
    letter-spacing:0.3px;
    margin:0 0 18px;
    color:var(--pink-dark);
  }
  .maki-hero p{
    font-size:1.05rem;
    color:var(--ink-soft);
    line-height:1.6;
    margin:0 0 28px;
  }
  .maki-cta{
    display:inline-block;
    background:var(--pink);
    color:#fff;
    text-decoration:none;
    padding:14px 30px;
    border-radius:8px;
    font-family:'Baloo 2', sans-serif;
    font-weight:700;
    box-shadow:4px 4px 0 var(--blue-dark);
    transition:transform 0.25s var(--ease-spring), box-shadow 0.25s var(--ease-spring);
  }
  .maki-cta:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--blue-dark); }
  .maki-cta:active{ transform:translate(0,0) scale(0.97); box-shadow:2px 2px 0 var(--blue-dark); }
  .maki-cta:focus-visible{ outline:3px solid var(--blue-dark); outline-offset:3px; }

  /* Hero logo card */
  .maki-tag-wrap{
    flex:1 1 260px;
    max-width:300px;
    display:flex; justify-content:center;
  }
  .maki-string{
    width:2px; height:44px; background:var(--paper-dark); margin:0 auto;
  }
  .maki-tag{
    position:relative;
    width:100%;
    max-width:290px;
    margin:0 auto;
    background:var(--card);
    border-radius:20px;
    padding:22px 20px 26px;
    text-align:center;
    transform-origin:top center;
    animation:sway 6s ease-in-out infinite;
    box-shadow:0 14px 28px rgba(43,32,51,0.14), 0 4px 10px rgba(228,23,126,0.08);
  }
  .maki-tag::before{
    content:"";
    position:absolute; top:-9px; left:50%; transform:translateX(-50%);
    width:16px; height:16px;
    background:var(--paper);
    border:2px solid var(--paper-dark);
    border-radius:50%;
  }
  @keyframes sway{
    0%,100%{ transform:rotate(-2.5deg); }
    50%{ transform:rotate(2.5deg); }
  }
  .maki-tag{ transition:transform 0.3s var(--ease-spring), box-shadow 0.3s var(--ease-spring); }
  .maki-tag:hover{ animation-play-state:paused; transform:rotate(0deg) scale(1.03); box-shadow:var(--shadow-lg), 0 6px 16px rgba(228,23,126,0.14); }
  .maki-tag img{ width:100%; display:block; margin-bottom:8px; }
  .maki-tag .brand-line{ font-family:'Caveat', cursive; font-size:1.1rem; color:var(--ink-soft); }

  /* Decorative confetti */
  .maki-confetti{
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    animation:floaty 4.5s ease-in-out infinite;
    z-index:1;
  }
  @keyframes floaty{
    0%,100%{ transform:translateY(0) rotate(0deg); }
    50%{ transform:translateY(-10px) rotate(12deg); }
  }
  .c1{ width:14px; height:14px; background:var(--pink-pastel); top:18%; left:6%; animation-delay:0.2s; }
  .c2{ width:10px; height:10px; background:var(--blue); top:70%; left:3%; animation-delay:1.1s; }
  .c3{ width:16px; height:16px; background:var(--blue-pastel); top:8%; right:4%; animation-delay:0.6s; }
  .c4{ width:9px; height:9px; background:var(--pink); top:78%; right:8%; animation-delay:1.6s; }

  /* Wave divider */
  .maki-wave{ display:block; width:100%; height:34px; margin-top:-4px; }
  .maki-wave-footer{ margin-top:-2px; margin-bottom:-6px; }

  /* Highlights */
  .maki-highlights{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
    gap:20px;
    max-width:900px; margin:0 auto; padding:8px 5vw 40px;
  }
  .maki-highlight{
    text-align:center; padding:22px 16px;
    background:var(--card);
    border-radius:16px;
    box-shadow:var(--shadow-sm);
    transition:transform 0.3s var(--ease-spring), box-shadow 0.3s var(--ease-spring);
  }
  .maki-highlight:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
  .maki-highlight h3{ font-family:'Baloo 2', sans-serif; font-size:1.05rem; color:var(--pink-dark); margin:0 0 6px; }
  .maki-highlight p{ font-size:0.85rem; color:var(--ink-soft); margin:0; line-height:1.5; }

  /* Featured products (landing preview) */
  .maki-featured{ padding:6px 5vw 10px; }
  .maki-featured .maki-grid{ padding:10px 5vw 10px; }

  /* Scroll reveal — a bit of life on the landing page without touching colors/type */
  .maki-reveal{ opacity:0; transform:translateY(22px); transition:opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out); }
  .maki-reveal.is-visible{ opacity:1; transform:translateY(0); }

  /* Card entrance stagger (reuses the existing per-card tilt selectors) */
  @keyframes cardIn{ from{ opacity:0; transform:translateY(14px) rotate(var(--tilt,0deg)); } to{ opacity:1; transform:translateY(0) rotate(var(--tilt,0deg)); } }
  .maki-card{ animation:cardIn 0.5s ease both; }

  /* Cart count "bump" feedback when an item is added */
  @keyframes bump{ 0%{ transform:scale(1); } 45%{ transform:scale(1.35); } 100%{ transform:scale(1); } }
  .maki-cart-count.bump{ animation:bump 0.35s ease; }

  /* Landing CTA + catalog back button */
  .maki-landing-cta{ text-align:center; padding:20px 5vw 60px; }
  .maki-landing-cta .maki-section-title{ margin-bottom:16px; }
  .maki-catalog-top{ padding:18px 5vw 0; max-width:1100px; margin:0 auto; }
  .maki-back{
    display:inline-flex; align-items:center; gap:6px;
    font-family:'Baloo 2', sans-serif; font-weight:600; font-size:0.9rem;
    color:var(--pink-dark); text-decoration:none;
    background:none; border:none; cursor:pointer; padding:0;
  }
  .maki-back:hover{ text-decoration:underline; }

  /* Category tabs */
  .maki-cats{
    display:flex; gap:10px; flex-wrap:wrap; justify-content:center;
    padding:0 5vw 10px;
    max-width:1100px; margin:0 auto;
  }
  .maki-cat-btn{
    font-family:'Baloo 2', sans-serif; font-weight:600; font-size:0.9rem;
    background:var(--cream);
    border:2px solid var(--paper-dark);
    color:var(--ink-soft);
    padding:8px 18px;
    border-radius:999px;
    cursor:pointer;
    text-decoration:none;
    display:inline-block;
    transition:border-color 0.2s var(--ease-out), color 0.2s var(--ease-out), background 0.2s var(--ease-out), transform 0.2s var(--ease-spring), box-shadow 0.2s var(--ease-spring);
  }
  .maki-cat-btn:hover{ border-color:var(--blue); color:var(--blue-dark); transform:translateY(-1px); }
  .maki-catsec{ scroll-margin-top:90px; padding-bottom:10px; }
  .maki-cat-btn.active{ background:var(--pink); border-color:var(--pink); color:#fff; box-shadow:var(--shadow-pink); }
  .maki-cat-btn:focus-visible{ outline:3px solid var(--blue); outline-offset:2px; }

  /* Product grid */
  .maki-section-title{
    text-align:center;
    font-family:'Baloo 2', sans-serif;
    font-weight:800;
    font-size:clamp(1.5rem, 3.5vw + 0.8rem, 2rem);
    color:var(--pink-dark);
    margin:36px 0 4px;
  }
  .maki-section-sub{
    text-align:center; color:var(--ink-soft); font-size:0.95rem; margin-bottom:20px;
  }
  .maki-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(230px, 1fr));
    gap:22px;
    max-width:1100px;
    margin:0 auto;
    padding:10px 5vw 90px;
  }
  .maki-card{
    background:var(--card);
    border:2px solid var(--paper-dark);
    border-radius:10px 10px 14px 14px;
    padding:26px 18px 18px;
    position:relative;
    display:flex; flex-direction:column; align-items:center;
    text-align:center;
    transition:transform 0.3s var(--ease-spring), box-shadow 0.3s var(--ease-spring), border-color 0.3s var(--ease-spring);
    transform:rotate(var(--tilt, 0deg));
  }
  .maki-grid > .maki-card:nth-child(6n+1){ --tilt:-1.6deg; animation-delay:0s; }
  .maki-grid > .maki-card:nth-child(6n+2){ --tilt:1.2deg; animation-delay:0.05s; }
  .maki-grid > .maki-card:nth-child(6n+3){ --tilt:-0.8deg; animation-delay:0.1s; }
  .maki-grid > .maki-card:nth-child(6n+4){ --tilt:1.8deg; animation-delay:0.15s; }
  .maki-grid > .maki-card:nth-child(6n+5){ --tilt:-1.3deg; animation-delay:0.2s; }
  .maki-grid > .maki-card:nth-child(6n+6){ --tilt:0.9deg; animation-delay:0.25s; }
  .maki-card:hover{ transform:rotate(0deg) translateY(-6px) scale(1.02); box-shadow:var(--shadow-pink); border-color:var(--pink-pastel); z-index:2; }
  .maki-card::before{
    content:"";
    position:absolute; top:-9px; left:50%; transform:translateX(-50%) rotate(-3deg);
    width:46px; height:16px;
    background:rgba(249,201,221,0.75);
    border:1px solid rgba(228,23,126,0.25);
  }
  .maki-icon{
    width:64px; height:64px;
    display:flex; align-items:center; justify-content:center;
    margin-bottom:12px;
  }
  .maki-icon svg{ width:100%; height:100%; }
  .maki-photo{
    width:100%; aspect-ratio:1/1; overflow:hidden;
    border-radius:10px; margin-bottom:12px;
    background:var(--paper);
  }
  .maki-photo img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.4s var(--ease-out); }
  .maki-card:hover .maki-photo img{ transform:scale(1.08); }
  .maki-card h3{
    font-family:'Baloo 2', sans-serif; font-size:1.02rem; font-weight:700;
    margin:0 0 4px; color:var(--ink);
  }
  .maki-card .desc{ font-size:0.82rem; color:var(--ink-soft); margin:0 0 10px; min-height:32px; }
  .maki-card .price{ font-family:'Baloo 2', sans-serif; font-weight:800; font-size:1.3rem; color:var(--pink-dark); margin-bottom:12px; }
  .maki-card .price.price-quote{ font-family:'Work Sans'; font-size:0.85rem; font-weight:600; color:var(--ink-soft); font-style:italic; }
  .maki-add.maki-quote{ background:var(--pink); }
  .maki-add.maki-quote:hover{ background:var(--pink-dark); }
  .maki-add{
    width:100%;
    display:flex; align-items:center; justify-content:center; gap:6px;
    background:var(--blue);
    color:#fff;
    border:none;
    padding:10px;
    border-radius:8px;
    font-weight:600;
    font-size:0.88rem;
    cursor:pointer;
    transition:background 0.2s ease, transform 0.2s var(--ease-spring);
  }
  .maki-add:hover{ background:var(--blue-dark); transform:translateY(-1px); }
  .maki-add:focus-visible{ outline:3px solid var(--pink); outline-offset:2px; }
  .maki-add.added{ background:var(--pink); }

  /* Footer */
  .maki-footer{
    background:
      radial-gradient(circle at 15% 20%, rgba(255,255,255,0.07) 0%, transparent 45%),
      radial-gradient(circle at 85% 85%, rgba(255,255,255,0.05) 0%, transparent 40%),
      var(--pink-dark);
    color:#fff;
    padding:44px 5vw 30px;
    text-align:center;
    position:relative;
  }
  .maki-footer .flogo{ height:64px; margin-bottom:10px; border-radius:14px; background:#fff; padding:8px 14px; }
  .maki-footer .slogan{ font-family:'Caveat', cursive; font-size:1.5rem; margin-bottom:18px; }
  .maki-foot-grid{
    display:flex; flex-wrap:wrap; justify-content:center; gap:34px;
    max-width:1020px; margin:0 auto 20px;
    text-align:left;
  }
  .maki-foot-col{ flex:1 1 190px; max-width:230px; }
  .maki-foot-col h4{ font-size:0.75rem; text-transform:uppercase; letter-spacing:1.5px; opacity:0.85; margin:0 0 8px; }
  .maki-foot-col p, .maki-foot-col a{ color:#fff; font-size:0.88rem; margin:6px 0; line-height:1.5; text-decoration:none; opacity:0.95; transition:opacity 0.2s ease; }
  .maki-foot-col a:hover{ text-decoration:underline; opacity:1; }
  .ic-row{ display:flex; align-items:flex-start; gap:10px; }
  .ic-row .ficon{ width:18px; height:18px; flex:0 0 auto; margin-top:1px; opacity:0.9; }
  .maki-foot-bottom{ font-size:0.78rem; opacity:0.8; border-top:1px solid rgba(255,255,255,0.25); padding-top:16px; margin-top:6px; }

  /* Cart drawer */
  .maki-overlay{
    position:fixed; inset:0; background:rgba(43,32,51,0.4);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    opacity:0; pointer-events:none; transition:opacity 0.25s ease;
    z-index:90;
  }
  .maki-overlay.open{ opacity:1; pointer-events:auto; }
  .maki-drawer{
    position:fixed; top:0; right:0; height:100%;
    width:min(380px, 92vw);
    background:var(--cream);
    box-shadow:-8px 0 24px rgba(0,0,0,0.2);
    transform:translateX(100%);
    transition:transform 0.35s var(--ease-spring);
    z-index:95;
    display:flex; flex-direction:column;
  }
  .maki-drawer.open{ transform:translateX(0); }
  .maki-drawer-head{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 20px;
    border-bottom:2px solid var(--paper-dark);
  }
  .maki-drawer-head h2{ font-family:'Baloo 2', sans-serif; font-weight:800; font-size:1.25rem; color:var(--pink-dark); margin:0; }
  .maki-close{
    background:none; border:none; font-size:1.4rem; cursor:pointer; color:var(--ink-soft); line-height:1;
    padding:11px; margin:-11px;
  }
  .maki-close:focus-visible{ outline:2px solid var(--pink); }
  .maki-drawer-items{ flex:1; overflow-y:auto; padding:14px 20px; }
  .maki-empty{ color:var(--ink-soft); font-size:0.9rem; text-align:center; margin-top:40px; }
  .maki-item{
    display:flex; align-items:center; gap:10px;
    padding:12px 0;
    border-bottom:1px solid var(--paper-dark);
  }
  .maki-item .ii{
    font-size:1.6rem; text-align:center;
    width:44px; height:44px; flex:0 0 auto;
    border-radius:8px; overflow:hidden;
    background:var(--paper);
    display:flex; align-items:center; justify-content:center;
  }
  .maki-item .ii img{ width:100%; height:100%; object-fit:cover; display:block; }
  .maki-item .in{ flex:1; }
  .maki-item .in .nm{ font-weight:600; font-size:0.9rem; }
  .maki-item .in .pr{ font-size:0.82rem; color:var(--ink-soft); }
  .maki-qty{ display:flex; align-items:center; gap:8px; }
  .maki-qty button{
    width:32px; height:32px; border-radius:50%; border:1px solid var(--paper-dark);
    background:var(--card); cursor:pointer; font-weight:700; color:var(--ink);
    display:flex; align-items:center; justify-content:center;
    transition:border-color 0.2s ease, transform 0.2s var(--ease-spring);
  }
  .maki-qty button:hover{ border-color:var(--pink); transform:scale(1.08); }
  .maki-qty button:focus-visible{ outline:2px solid var(--pink); }
  .maki-drawer-foot{
    padding:18px 20px 22px;
    border-top:2px solid var(--paper-dark);
  }
  .maki-total{
    display:flex; justify-content:space-between; align-items:baseline;
    margin-bottom:14px; font-weight:600;
  }
  .maki-total span:last-child{ font-family:'Baloo 2', sans-serif; font-weight:800; font-size:1.3rem; color:var(--pink-dark); }
  .maki-checkout{
    width:100%;
    background:#25D366;
    color:#0B2E1B;
    border:none;
    padding:13px;
    border-radius:10px;
    font-weight:700;
    font-size:0.95rem;
    cursor:pointer;
    display:flex; align-items:center; justify-content:center; gap:8px;
    transition:filter 0.15s ease, transform 0.2s var(--ease-spring);
  }
  .maki-checkout:hover{ filter:brightness(0.95); transform:translateY(-1px); }
  .maki-checkout:disabled{ opacity:0.5; cursor:not-allowed; }
  .maki-checkout:focus-visible{ outline:3px solid var(--blue-dark); outline-offset:2px; }
  .wa-icon{ width:18px; height:18px; flex:0 0 auto; fill:currentColor; }
  .maki-hint{ text-align:center; font-size:0.75rem; color:var(--ink-soft); margin-top:10px; }

  /* Reviews section */
  .maki-reviews{ text-align:center; padding:10px 5vw 50px; }
  .maki-testimonials{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
    gap:18px;
    max-width:1000px; margin:0 auto 26px;
    text-align:left;
  }
  .maki-testimonial{
    background:var(--card);
    border:2px solid var(--paper-dark);
    border-radius:14px;
    padding:18px 18px 16px;
    position:relative;
    transition:transform 0.3s var(--ease-spring), box-shadow 0.3s var(--ease-spring), border-color 0.3s var(--ease-spring);
  }
  .maki-testimonial:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--pink-pastel); }
  .mt-google{
    position:absolute; top:14px; right:14px;
    width:22px; height:22px; border-radius:50%;
    background:#fff; border:1.5px solid var(--paper-dark);
    color:#4285F4; font-weight:800; font-size:0.78rem;
    display:flex; align-items:center; justify-content:center;
    font-family:'Work Sans';
  }
  .mt-stars{ color:#F5B301; font-size:0.9rem; letter-spacing:1px; margin-bottom:8px; }
  .mt-quote{ font-size:0.86rem; color:var(--ink); line-height:1.55; margin:0 0 12px; }
  .mt-author{ font-family:'Baloo 2', sans-serif; font-size:0.85rem; color:var(--pink-dark); display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
  .mt-badge{ font-family:'Work Sans'; font-size:0.68rem; font-weight:600; color:var(--blue-dark); background:var(--blue-pastel); padding:2px 7px; border-radius:999px; }
  .maki-cta-sm{ padding:10px 22px; font-size:0.88rem; box-shadow:3px 3px 0 var(--blue-dark); }
  .maki-reviews-actions{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
  .maki-cta-sm.outline{ background:none; color:var(--pink-dark); border:2px solid var(--pink-dark); box-shadow:none; }
  .maki-cta-sm.outline:hover{ background:var(--pink-pastel); }

  /* Libro de Reclamaciones — footer column */
  .maki-foot-libro{ display:flex; flex-direction:column; align-items:flex-start; }
  .maki-libro-img-sm{ width:64px; margin:2px 0 8px; display:block; border-radius:8px; background:#fff; padding:6px; }
  .maki-foot-libro p{ font-size:0.82rem; opacity:0.9; margin:0 0 12px; }
  .maki-libro-btn{
    background:#fff; color:var(--pink-dark);
    border:none; padding:9px 16px; border-radius:999px;
    font-family:'Baloo 2', sans-serif; font-weight:700; font-size:0.82rem;
    cursor:pointer; transition:transform 0.25s var(--ease-spring), box-shadow 0.25s var(--ease-spring);
  }
  .maki-libro-btn:hover{ transform:translateY(-2px); box-shadow:0 8px 16px rgba(0,0,0,0.18); }
  .maki-libro-btn:focus-visible{ outline:2px solid #fff; outline-offset:2px; }

  /* Reclamo modal (reuses drawer visuals but centered) */
  .maki-modal{
    position:fixed; top:0; right:0; height:100%;
    width:min(480px, 94vw);
    background:var(--cream);
    box-shadow:-8px 0 24px rgba(0,0,0,0.2);
    transform:translateX(100%);
    transition:transform 0.35s var(--ease-spring);
    z-index:96;
    display:flex; flex-direction:column;
  }
  .maki-modal.open{ transform:translateX(0); }
  .maki-modal-body{ flex:1; overflow-y:auto; padding:16px 22px 30px; }
  .maki-libro-legal{ font-size:0.82rem; color:var(--ink-soft); line-height:1.5; margin:0 0 16px; }
  .mf-h{ font-family:'Baloo 2', sans-serif; font-size:0.95rem; color:var(--pink-dark); margin:18px 0 8px; }
  .mf-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px 12px; }
  .mf-field{ display:flex; flex-direction:column; gap:4px; font-size:0.8rem; font-weight:600; color:var(--ink-soft); margin-bottom:10px; }
  .mf-field input, .mf-field select, .mf-field textarea{
    font-family:'Work Sans'; font-size:0.88rem; color:var(--ink);
    border:1.5px solid var(--paper-dark); border-radius:8px;
    padding:8px 10px; background:#fff;
    transition:border-color 0.2s ease, box-shadow 0.2s ease;
  }
  .mf-field input:focus, .mf-field select:focus, .mf-field textarea:focus{ outline:2px solid var(--blue); border-color:var(--blue); }
  .mf-help{ font-size:0.76rem; color:var(--ink-soft); background:var(--paper); border-radius:8px; padding:8px 10px; margin:2px 0 12px; }
  .mf-error{ font-size:0.82rem; color:#B3261E; background:#FBE7E5; border-radius:8px; padding:9px 10px; margin:0 0 12px; }
  .mf-menor{ margin:14px 0; border:1.5px dashed var(--paper-dark); border-radius:10px; padding:10px 12px; }
  .mf-menor summary{ cursor:pointer; font-size:0.82rem; font-weight:600; color:var(--blue-dark); }
  .mf-menor[open] summary{ margin-bottom:10px; }
  .mf-actions{ display:flex; gap:10px; margin-top:8px; }
  .mf-print{
    flex:0 0 auto;
    background:var(--cream); border:2px solid var(--paper-dark);
    color:var(--ink); font-weight:600; font-size:0.88rem;
    padding:12px 16px; border-radius:10px; cursor:pointer;
    transition:border-color 0.2s ease, transform 0.2s var(--ease-spring);
  }
  .mf-print:hover{ border-color:var(--blue); transform:translateY(-1px); }
  .mf-actions .maki-checkout{ flex:1; }

  /* Confirmation / folio screen */
  .mf-confirm{ text-align:center; padding:20px 6px; }
  .mf-confirm-icon{ font-size:2.6rem; margin-bottom:6px; }
  .mf-confirm h3{ font-family:'Baloo 2', sans-serif; color:var(--pink-dark); font-size:1.3rem; margin:0 0 10px; }
  .mf-folio{ font-size:1rem; margin:0 0 6px; }
  .mf-folio strong{ font-family:'Baloo 2', sans-serif; letter-spacing:1px; color:var(--blue-dark); }
  .mf-confirm-note{ font-size:0.84rem; color:var(--ink-soft); margin:0 0 20px; line-height:1.5; }
  .mf-confirm-actions{ display:flex; flex-direction:column; gap:10px; margin-bottom:16px; }
  .mf-confirm-actions a.mf-print{ text-decoration:none; display:block; }

  @media print{
    body{ height:0; overflow:visible; }
    body *{ visibility:hidden; }
    #reclamoPrintArea, #reclamoPrintArea *{ visibility:visible; }
    #reclamoPrintArea{ position:absolute; top:0; left:0; width:100%; padding:20px; }
    .mf-actions{ display:none; }
    .mf-confirm-actions, #newReclamo{ display:none; }
  }

  /* Press feedback — quick tactile scale on tap/click */
  .maki-add:active, .maki-cat-btn:active, .maki-checkout:active, .maki-cart-btn:active, .maki-libro-btn:active, .maki-nav-link:active, .maki-top-btn:active{
    transform:scale(0.95);
  }

  /* Back-to-top button — fades in once the page has scrolled down */
  .maki-top-btn{
    position:fixed; right:18px; bottom:18px;
    z-index:70;
    width:46px; height:46px;
    border-radius:50%;
    border:none;
    background:var(--pink);
    color:#fff;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    box-shadow:var(--shadow-pink);
    opacity:0;
    transform:translateY(12px) scale(0.9);
    pointer-events:none;
    transition:opacity 0.25s var(--ease-out), transform 0.25s var(--ease-spring), background 0.2s ease;
  }
  .maki-top-btn.visible{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
  .maki-top-btn:hover{ background:var(--pink-dark); transform:translateY(-2px) scale(1.05); }
  .maki-top-btn:focus-visible{ outline:3px solid var(--blue-dark); outline-offset:3px; }
  .maki-top-btn svg{ width:20px; height:20px; }

  @media (max-width:640px){
    .maki-hero{ padding:40px 6vw 36px; gap:30px; }
    .maki-top-btn{ right:14px; bottom:14px; width:42px; height:42px; }
  }

  @media (max-width:480px){
    .mf-grid{ grid-template-columns:1fr; }
    .maki-logo-img{ height:60px; }
  }

  @media (max-width:380px){
    .mf-actions{ flex-direction:column; }
    .mf-print{ width:100%; }
  }
