  :root{
    --ink: #1b1712;
    --ink-2: #2a2219;
    --ink-3: #362c20;
    --cream: #f4efe3;
    --cream-2: #eae2cf;
    --cream-3: #ddd2b7;
    --brass: #a97c46;
    --brass-light: #c99a5e;
    --line: #cbbca0;
    --text-on-dark: #f4efe3;
    --muted-on-dark: #b7a98f;
    --text-on-light: #241d15;
    --muted-on-light: #7d7263;
  }

  *,*::before,*::after{ box-sizing: border-box; }
  html{ scroll-behavior: smooth; }
  body{
    margin:0;
    background: var(--cream);
    color: var(--text-on-light);
    font-family: 'Karla', ui-sans-serif, system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }
  img{ max-width:100%; display:block; }
  a{ color: inherit; text-decoration: none; }
  h1,h2,h3,h4{
    font-family: 'Fraunces', Georgia, 'Times New Roman', serif;
    font-weight: 500;
    line-height: 1.12;
    margin: 0;
    text-wrap: balance;
    letter-spacing: -0.01em;
  }
  p{ margin: 0; }
  button{ font: inherit; }
  .eyebrow{
    font-family: 'Jost', ui-sans-serif, sans-serif;
    font-size: 0.76rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 500;
  }
  .container{
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 clamp(1.25rem, 4vw, 3rem);
  }
  .btn{
    display:inline-flex;
    align-items:center;
    gap:0.55rem;
    padding: 0.85rem 1.6rem;
    font-family:'Jost', sans-serif;
    font-size:0.8rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    font-weight:500;
    border:1px solid transparent;
    cursor:pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
    white-space: nowrap;
  }
  .btn-solid{ background: var(--brass); color: var(--ink); }
  .btn-solid:hover{ background: var(--brass-light); }
  .btn-outline-dark{ border-color: rgba(244,239,227,0.45); color: var(--text-on-dark); }
  .btn-outline-dark:hover{ border-color: var(--text-on-dark); background: rgba(244,239,227,0.08); }
  .btn-outline-light{ border-color: var(--ink); color: var(--ink); }
  .btn-outline-light:hover{ background: var(--ink); color: var(--text-on-dark); }
  :focus-visible{ outline: 2px solid var(--brass); outline-offset: 2px; }

  .icon{ width:1em; height:1em; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

  /* roofline motif, echoes the wordmark */
  .roofline{ stroke:currentColor; fill:none; stroke-width:1.4; }

  /* ---------- header ---------- */
  #site-header{
    position: sticky; top:0; z-index: 40;
    background: var(--ink);
    border-bottom: 1px solid rgba(244,239,227,0.08);
  }
  .header-row{
    display:flex; align-items:center; justify-content:space-between;
    gap: 1.5rem;
    padding: 0.85rem clamp(1.25rem, 4vw, 3rem);
  }
  .brand{ display:flex; align-items:center; gap:0.6rem; flex-shrink:0; }
  .brand img{ height: 46px; width:auto; }
  .brand-wordmark{ display:none; }

  nav.primary-nav{ display:flex; align-items:center; gap: clamp(0.9rem, 1.6vw, 1.6rem); flex-wrap: wrap; }
  nav.primary-nav a{
    font-family:'Jost', sans-serif; font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--muted-on-dark); font-weight:500; padding: 0.3rem 0; border-bottom:1px solid transparent;
    transition: color .2s ease, border-color .2s ease;
  }
  nav.primary-nav a:hover, nav.primary-nav a.active{ color: var(--text-on-dark); border-color: var(--brass-light); }

  .header-actions{ display:flex; align-items:center; gap:0.9rem; flex-shrink:0; }
  .icon-link{ color: var(--muted-on-dark); width:19px; height:19px; transition: color .2s ease; }
  .icon-link:hover{ color: var(--text-on-dark); }
  .nav-toggle{ display:none; background:none; border:none; color:var(--text-on-dark); padding:0.3rem; cursor:pointer; }

  @media (max-width: 980px){
    nav.primary-nav{
      display:none;
      position: absolute; top: 100%; left:0; right:0;
      background: var(--ink); border-bottom: 1px solid rgba(244,239,227,0.1);
      flex-direction: column; align-items: flex-start; gap:0;
      padding: 0.5rem clamp(1.25rem, 4vw, 3rem) 1rem;
    }
    nav.primary-nav.open{ display:flex; }
    nav.primary-nav a{ width:100%; padding: 0.65rem 0; border-bottom:1px solid rgba(244,239,227,0.06); }
    .nav-toggle{ display:inline-flex; }
  }

  /* ---------- hero ---------- */
  .hero{
    position: relative;
    background-image: url('assets/photo-hero.jpg');
    background-size: cover;
    background-position: center 38%;
    color: var(--text-on-dark);
    overflow: hidden;
    min-height: min(90vh, 700px);
    display:flex; align-items:center;
  }
  .hero-scrim{ position:absolute; inset:0; pointer-events:none;
    background:
      linear-gradient(90deg, rgba(15,12,9,1) 0%, rgba(15,12,9,1) 46%, rgba(15,12,9,0.72) 60%, rgba(15,12,9,0.22) 78%, rgba(15,12,9,0.06) 100%),
      linear-gradient(0deg, rgba(15,12,9,0.35), transparent 40%),
      linear-gradient(180deg, rgba(15,12,9,1) 0px, rgba(15,12,9,1) 84px, transparent 84px);
  }
  .hero-inner{ position:relative; z-index:2; padding: 6rem 0 5rem; }
  .hero-wordmark{ font-size: clamp(2.6rem, 6vw, 4.4rem); line-height:1.02; font-weight:400; letter-spacing:0.01em; }
  .hero-wordmark span{ display:block; }
  .hero .lede{
    max-width: 30ch; margin-top: 1.5rem; font-size: 1.15rem; color: var(--text-on-dark); font-family:'Fraunces', serif; font-weight:400;
  }
  .hero .location{ margin-top: 0.7rem; font-size:0.98rem; color: var(--text-on-dark); font-weight:600; }
  .hero-cta{ display:flex; flex-wrap:wrap; gap:0.9rem; margin-top: 2.4rem; }

  /* ---------- section scaffolding ---------- */
  section{ padding: clamp(3.5rem, 7vw, 6rem) 0; }
  .section-head{ text-align:center; max-width: 46ch; margin: 0 auto 3rem; }
  .section-head .eyebrow{ color: var(--brass); margin-bottom: 0.8rem; display:flex; align-items:center; justify-content:center; gap:0.6rem; }
  .section-head h2{ font-size: clamp(1.9rem, 3.4vw, 2.6rem); }
  .divider-motif{ width:34px; height:20px; opacity:0.9; color: var(--brass); flex-shrink:0; }

  /* ---------- category strip ---------- */
  .cat-strip{ background: var(--cream-2); border-bottom:1px solid var(--cream-3); border-top:1px solid var(--cream-3); }
  .cat-grid{
    display:grid; grid-template-columns: repeat(6, 1fr); gap: 0;
  }
  .cat-cell{
    display:flex; flex-direction:column; align-items:center; gap:0.7rem;
    padding: 1.9rem 0.5rem; text-align:center;
    border-right: 1px solid var(--cream-3);
    transition: background-color .2s ease;
  }
  .cat-cell:last-child{ border-right:none; }
  .cat-cell:hover{ background: var(--cream-3); }
  .cat-cell .icon{ width:30px; height:30px; color: var(--ink-3); }
  .cat-cell span{ font-family:'Jost',sans-serif; font-size:0.72rem; letter-spacing:0.09em; text-transform:uppercase; font-weight:500; color: var(--text-on-light); }
  @media (max-width: 900px){ .cat-grid{ grid-template-columns: repeat(3, 1fr); } .cat-cell:nth-child(3n){ border-right:none; } .cat-cell{ border-bottom:1px solid var(--cream-3); } }
  @media (max-width: 540px){ .cat-grid{ grid-template-columns: repeat(2, 1fr); } .cat-cell:nth-child(2n){ border-right:none; } .cat-cell:nth-child(3n){ border-right:1px solid var(--cream-3); } }

  /* ---------- ambientes / product grids ---------- */
  .grid-5{ display:grid; grid-template-columns: repeat(5, 1fr); gap: 1.25rem; }
  .grid-3{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
  @media (max-width: 980px){ .grid-5{ grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 640px){ .grid-5{ grid-template-columns: repeat(2, 1fr); } .grid-3{ grid-template-columns: 1fr; } }

  .swatch-card{ display:block; group: card; }
  .swatch-art{
    position:relative; aspect-ratio: 4/5; border-radius: 2px;
    background: linear-gradient(155deg, var(--cream-2), var(--cream-3));
    display:flex; align-items:center; justify-content:center;
    overflow:hidden;
  }
  .swatch-art img{ width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
  .swatch-card:hover .swatch-art img{ transform: scale(1.06); }
  .swatch-art .icon{ width:34%; height:34%; color: var(--ink-3); opacity:0.55; transition: transform .35s ease; }
  .swatch-card:hover .swatch-art .icon{ transform: scale(1.08); }
  .swatch-art .art-tag{
    position:absolute; bottom:0.7rem; left:0.7rem; right:0.7rem;
    font-family:'Jost',sans-serif; font-size:0.64rem; letter-spacing:0.08em; text-transform:uppercase;
    color: var(--muted-on-light); text-align:left; opacity:0.7;
  }
  .swatch-label{ margin-top:0.85rem; display:flex; align-items:center; justify-content:space-between; }
  .swatch-label span:first-child{ font-family:'Jost',sans-serif; font-size:0.82rem; letter-spacing:0.02em; }
  .swatch-label .arrow{ width:14px; height:14px; color: var(--brass); transition: transform .2s ease; }
  .swatch-card:hover .arrow{ transform: translateX(3px); }

  .view-all-wrap{ text-align:center; margin-top: 2.75rem; }

  /* ---------- product card (category pages) ---------- */
  .product-card{ border:1px solid var(--cream-3); background: var(--cream); }
  .product-art{ position:relative; aspect-ratio: 4/3; background: linear-gradient(155deg, var(--cream-2), var(--cream-3)); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.6rem; overflow:hidden; }
  .product-art .icon{ width:30%; height:30%; color:var(--ink-3); opacity:0.5; }
  .product-art .placeholder-tag{ font-family:'Jost',sans-serif; font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color: var(--muted-on-light); }
  .product-art img{ width:100%; height:100%; object-fit:contain; }
  .product-swatches{ display:flex; gap:0.4rem; margin-top:0.5rem; }
  .product-swatches span{ width:16px; height:16px; border-radius:50%; border:1px solid rgba(0,0,0,0.15); display:inline-block; }
  .product-type{ display:inline-block; font-family:'Jost',sans-serif; font-size:0.64rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--brass); background:var(--cream-2); padding:0.2rem 0.55rem; margin-bottom:0.4rem; }
  .consult-full{ display:flex; align-items:center; justify-content:center; gap:0.5rem; width:100%; margin-top:0.7rem; }

  /* ---------- filter pills ---------- */
  .filter-row{ display:flex; flex-wrap:wrap; gap:0.6rem; justify-content:center; margin: 0 0 2.75rem; }
  .filter-pill{
    font-family:'Jost',sans-serif; font-size:0.76rem; letter-spacing:0.03em;
    padding:0.55rem 1.2rem; border:1px solid var(--cream-3); border-radius:999px;
    background:#fff; color:var(--text-on-light); cursor:pointer; transition: all .2s ease;
  }
  .filter-pill:hover{ border-color:var(--brass); }
  .filter-pill.active{ background:var(--brass); border-color:var(--brass); color:var(--ink); }

  /* ---------- category hero ---------- */
  .cat-hero{ position:relative; min-height:340px; display:flex; align-items:center; color:var(--text-on-dark); overflow:hidden; background-size:cover; background-position:center; }
  .cat-hero-scrim{ position:absolute; inset:0; background: linear-gradient(90deg, rgba(15,12,9,0.92) 0%, rgba(15,12,9,0.75) 45%, rgba(15,12,9,0.25) 80%); }
  .cat-hero-inner{ position:relative; z-index:2; padding: 3.5rem 0; }
  .cat-hero h1{ font-size: clamp(1.9rem, 4vw, 2.8rem); max-width:16ch; font-style:italic; font-weight:400; }
  .cat-hero p{ max-width:38ch; margin-top:0.9rem; color:var(--muted-on-dark); font-size:1rem; }
  .cat-hero .btn{ margin-top:1.6rem; }

  /* ---------- statement banner ---------- */
  .statement{ background:var(--ink); color:var(--text-on-dark); padding: clamp(2.6rem,5vw,4rem) 0; text-align:center; }
  .statement .bar{ width:2px; height:34px; background:var(--brass); margin:0 auto 1.4rem; }
  .statement p{ font-family:'Fraunces',serif; font-style:italic; font-weight:400; font-size:clamp(1.4rem,3vw,2rem); max-width:26ch; margin:0 auto; }

  /* ---------- bottom CTA band ---------- */
  .cta-band{ background:var(--cream-2); border-top:1px solid var(--cream-3); border-bottom:1px solid var(--cream-3); padding: clamp(2.4rem,4vw,3.2rem) 0; }
  .cta-band-inner{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.5rem; }
  .cta-band h3{ font-size:1.5rem; font-style:italic; font-weight:400; }
  .cta-band p{ color:var(--muted-on-light); margin-top:0.4rem; max-width:46ch; }
  .product-body{ padding: 1.15rem 1.3rem 1.4rem; display:flex; flex-direction:column; gap:0.35rem; }
  .product-body h4{ font-size:1.08rem; font-style:italic; font-weight:400; }
  .product-body .note{ font-size:0.85rem; color: var(--muted-on-light); }
  .product-body .consult{ margin-top:0.5rem; font-family:'Jost',sans-serif; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color: var(--brass); display:inline-flex; align-items:center; gap:0.4rem; }

  /* ---------- page banner (subpages) ---------- */
  .page-banner{ background: var(--ink); color: var(--text-on-dark); padding: 3.4rem 0 3rem; text-align:center; }
  .page-banner .eyebrow{ color: var(--brass-light); justify-content:center; margin-bottom:0.8rem; display:flex; align-items:center; gap:0.55rem; }
  .page-banner h1{ font-size: clamp(2rem, 4.5vw, 3rem); font-style:italic; font-weight:400; }
  .page-banner p{ max-width: 48ch; margin: 1rem auto 0; color: var(--muted-on-dark); }
  .breadcrumb{ font-family:'Jost',sans-serif; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted-on-dark); margin-top:1.1rem; }
  .breadcrumb a:hover{ color: var(--text-on-dark); }

  .catalog-note{
    margin: 0 auto 2.6rem; max-width: 60ch; text-align:center;
    font-size:0.92rem; color: var(--muted-on-light); font-style:italic;
    padding: 0.9rem 1.4rem; border-top:1px solid var(--cream-3); border-bottom:1px solid var(--cream-3);
  }

  /* ---------- store / visit section ---------- */
  .visit{ background: var(--cream-2); }
  .visit-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 0; align-items:stretch; border: 1px solid var(--cream-3); }
  .visit-info{ padding: clamp(2.2rem, 4vw, 3.5rem); display:flex; flex-direction:column; justify-content:center; gap:1.4rem; }
  .visit-info .eyebrow{ color: var(--brass); }
  .visit-info h2{ font-size: clamp(1.8rem, 3vw, 2.35rem); font-style:italic; font-weight:400; }
  .visit-detail{ display:flex; gap:0.85rem; align-items:flex-start; }
  .visit-detail .icon{ width:19px; height:19px; color: var(--brass); flex-shrink:0; margin-top:0.2rem; }
  .visit-detail div{ font-size:0.94rem; }
  .visit-detail .label{ font-family:'Jost',sans-serif; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color: var(--muted-on-light); margin-bottom:0.15rem; }
  .visit-map{ position:relative; min-height:280px; background: var(--ink); overflow:hidden; }
  @media (max-width: 860px){ .visit-grid{ grid-template-columns: 1fr; } .visit-map{ min-height:220px; } }

  /* ---------- contact page ---------- */
  .contact-grid{ display:grid; grid-template-columns: 1.1fr 0.9fr; gap: 2.5rem; }
  @media (max-width: 860px){ .contact-grid{ grid-template-columns: 1fr; } }
  .contact-card{ border:1px solid var(--cream-3); padding: clamp(1.8rem,3vw,2.6rem); display:flex; flex-direction:column; gap:1.5rem; }
  .contact-line{ display:flex; align-items:flex-start; gap:1rem; }
  .contact-line .icon{ width:20px; height:20px; color:var(--brass); margin-top:0.15rem; flex-shrink:0; }
  .contact-line .label{ font-family:'Jost',sans-serif; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted-on-light); margin-bottom:0.2rem; }
  .contact-line a:hover{ color: var(--brass); }
  .contact-cta-card{ background: var(--ink); color: var(--text-on-dark); padding: clamp(1.8rem,3vw,2.6rem); display:flex; flex-direction:column; gap:1.2rem; justify-content:center; }
  .contact-cta-card h3{ font-style:italic; font-weight:400; font-size:1.5rem; }
  .contact-cta-card p{ color: var(--muted-on-dark); font-size:0.94rem; }

  /* ---------- a loja page ---------- */
  .story{ max-width: 62ch; margin: 0 auto; text-align:center; }
  .story p + p{ margin-top:1rem; }
  .story p{ color: var(--muted-on-light); font-size:1.02rem; }
  .history-section{ background: var(--cream-2); }
  .history-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:0; align-items:stretch; border: 1px solid var(--cream-3); }
  .history-info{ padding: clamp(2.2rem, 4vw, 3.5rem); display:flex; flex-direction:column; justify-content:center; gap:1rem; }
  .history-info .eyebrow{ color: var(--brass); }
  .history-founded{ display:inline-flex; align-items:center; gap:0.5rem; font-family:'Jost',sans-serif; font-size:0.7rem; letter-spacing:0.09em; text-transform:uppercase; color: var(--brass); margin-bottom:0.2rem; }
  .history-founded .icon{ width:15px; height:15px; }
  .history-info p{ color: var(--muted-on-light); font-size:0.96rem; }
  .history-photo{ position:relative; min-height:320px; background: var(--ink); overflow:hidden; }
  .history-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  @media (max-width: 860px){ .history-grid{ grid-template-columns: 1fr; } .history-photo{ min-height:220px; } }
  .value-card{ border:1px solid var(--cream-3); background:#fff; padding: clamp(1.6rem,3vw,2.1rem); }
  .value-card .icon-badge{ width:52px; height:52px; border-radius:50%; background: var(--cream-2); display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem; }
  .value-card .icon-badge .icon{ width:24px; height:24px; color: var(--brass); }
  .value-card h3{ font-family:'Fraunces',serif; font-style:italic; font-weight:400; font-size:1.12rem; margin-bottom:0.5rem; }
  .value-card p{ color: var(--muted-on-light); font-size:0.9rem; }

  /* ---------- footer ---------- */
  footer{ background: var(--ink); color: var(--muted-on-dark); padding: 3rem 0 1.6rem; }
  .footer-top{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:2.5rem; padding-bottom:2.2rem; border-bottom:1px solid rgba(244,239,227,0.1); }
  .footer-brand img{ height:38px; }
  .footer-brand p{ margin-top:0.9rem; max-width:34ch; font-size:0.86rem; }
  .footer-col h5{ font-family:'Jost',sans-serif; font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color: var(--text-on-dark); margin-bottom:0.9rem; }
  .footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0.55rem; }
  .footer-col a{ font-size:0.86rem; }
  .footer-col a:hover{ color: var(--text-on-dark); }
  .footer-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:0.8rem; padding-top:1.4rem; font-size:0.78rem; }

  .sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

  /* ---------- admin page ---------- */
  .admin-grid{ display:grid; grid-template-columns: 1fr 1.15fr; gap:2.5rem; align-items:start; }
  @media (max-width: 900px){ .admin-grid{ grid-template-columns: 1fr; } }
  .admin-card{ border:1px solid var(--cream-3); background: var(--cream); padding: clamp(1.6rem,3vw,2.4rem); }
  .field{ display:flex; flex-direction:column; gap:0.4rem; margin-bottom:1.25rem; }
  .field label{ font-family:'Jost',sans-serif; font-size:0.7rem; letter-spacing:0.09em; text-transform:uppercase; color: var(--muted-on-light); }
  .field input[type="text"], .field select, .field textarea{
    font: inherit; font-size:0.95rem; padding:0.7rem 0.85rem; border:1px solid var(--cream-3);
    background: #fff; color: var(--text-on-light); border-radius:1px;
  }
  .field textarea{ resize:vertical; min-height:88px; font-family:'Karla',sans-serif; }
  .field input:focus, .field select:focus, .field textarea:focus{ outline:2px solid var(--brass); outline-offset:1px; }
  .swatch-row{ display:flex; flex-wrap:wrap; gap:0.5rem; }
  .swatch-toggle{ width:28px; height:28px; border-radius:50%; border:2px solid transparent; cursor:pointer; padding:0; box-shadow:0 0 0 1px rgba(0,0,0,0.15); }
  .swatch-toggle.active{ border-color:var(--brass); box-shadow:0 0 0 1px var(--brass); }
  .field-file{ border:1.5px dashed var(--cream-3); padding:1.1rem; text-align:center; cursor:pointer; background:var(--cream-2); }
  .field-file:hover{ border-color: var(--brass); }
  .file-preview{ margin-top:0.9rem; max-width:220px; border:1px solid var(--cream-3); }
  .file-preview img{ width:100%; display:block; }
  .admin-status{ font-size:0.86rem; padding:0.75rem 1rem; border-left:3px solid var(--brass); background: var(--cream-2); margin-bottom:1.25rem; }
  .admin-status.error{ border-color:#a24a3d; color:#7a2f24; }
  .admin-status.success{ border-color:#5c7a4a; color:#3d5230; }
  .admin-list{ display:flex; flex-direction:column; gap:0.9rem; }
  .admin-item{ display:flex; gap:0.9rem; align-items:center; border:1px solid var(--cream-3); padding:0.8rem; background:#fff; }
  .admin-item .thumb{ width:64px; height:64px; flex-shrink:0; background: var(--cream-2); overflow:hidden; display:flex; align-items:center; justify-content:center; }
  .admin-item .thumb img{ width:100%; height:100%; object-fit:cover; }
  .admin-item .thumb .icon{ width:55%; height:55%; color:var(--ink-3); opacity:0.5; }
  .admin-item .meta{ flex:1; min-width:0; }
  .admin-item .meta .name{ font-family:'Fraunces',serif; font-style:italic; font-size:1rem; }
  .admin-item .meta .cat{ font-family:'Jost',sans-serif; font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase; color: var(--brass); margin-top:0.15rem; }
  .admin-item .meta .desc{ font-size:0.8rem; color:var(--muted-on-light); margin-top:0.2rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .admin-item.editing{ border-color:var(--brass); box-shadow:0 0 0 1px var(--brass); }
  .btn-edit{ font-family:'Jost',sans-serif; font-size:0.68rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--brass); background:none; border:1px solid var(--cream-3); padding:0.45rem 0.7rem; cursor:pointer; flex-shrink:0; }
  .btn-edit:hover{ background:var(--brass); color:#fff; border-color:var(--brass); }
  .btn-remove{ font-family:'Jost',sans-serif; font-size:0.68rem; letter-spacing:0.06em; text-transform:uppercase; color:#a24a3d; background:none; border:1px solid #d8b9b2; padding:0.45rem 0.7rem; cursor:pointer; flex-shrink:0; }
  .btn-remove:hover{ background:#a24a3d; color:#fff; border-color:#a24a3d; }
  .btn:disabled{ opacity:0.5; cursor:not-allowed; }
  .admin-empty{ font-size:0.9rem; color:var(--muted-on-light); font-style:italic; }
  .amb-item .thumb{ width:104px; height:76px; }
  .amb-item .meta .hint{ font-size:0.76rem; color:var(--muted-on-light); margin-top:0.2rem; }
  .amb-actions{ display:flex; flex-direction:column; gap:0.5rem; align-items:flex-end; flex-shrink:0; }
  .amb-file-btn{ position:relative; overflow:hidden; display:inline-block; font-family:'Jost',sans-serif; font-size:0.68rem; letter-spacing:0.06em; text-transform:uppercase; color: var(--brass); background:none; border:1px solid var(--brass-light); padding:0.45rem 0.7rem; cursor:pointer; text-align:center; }
  .amb-file-btn:hover{ background: var(--brass); color:#fff; border-color:var(--brass); }
  .amb-file-btn input[type="file"]{ position:absolute; inset:0; opacity:0; cursor:pointer; }
  .amb-reset-btn{ font-family:'Jost',sans-serif; font-size:0.66rem; letter-spacing:0.05em; color: var(--muted-on-light); background:none; border:none; text-decoration:underline; cursor:pointer; padding:0; }
  .amb-reset-btn:disabled{ opacity:0.4; cursor:not-allowed; }
  .amb-status{ font-size:0.72rem; margin-top:0.3rem; min-height:1em; }
  .footer-admin-link{ opacity:0.55; font-size:0.72rem; }
  .footer-admin-link:hover{ opacity:1; }

  @media (prefers-reduced-motion: reduce){ *{ animation-duration:0.01ms !important; transition-duration:0.01ms !important; } html{ scroll-behavior:auto; } }

  /* ---------- admin login gate (versão PHP com senha) ---------- */
  .admin-login-wrap{ max-width:420px; margin:0 auto; }
  .admin-topbar{ display:flex; justify-content:flex-end; margin-bottom:1.5rem; }
  .btn-logout{ font-family:'Jost',sans-serif; font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted-on-light); background:none; border:1px solid var(--cream-3); padding:0.5rem 0.9rem; cursor:pointer; }
  .btn-logout:hover{ border-color:var(--brass); color:var(--brass); }
