/* These Hands Made It — app components (shop, account, admin, flash) */

/* ---------- flash ---------- */
.flash{padding:12px 0;font-size:.95rem}
.flash .container{max-width:1200px}
.flash-ok{background:#e8f0e3;color:#33532a}
.flash-err{background:#f6e2df;color:#8a3328}

/* ---------- small buttons / forms ---------- */
.btn-small{font-family:var(--sans);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  padding:8px 16px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;border-radius:2px}
.btn-small:hover{background:var(--ink);color:var(--bg)}
.radio{display:block;margin:6px 0;text-transform:none;letter-spacing:0;font-weight:400;font-size:1rem;color:var(--ink)}
.tag{display:inline-block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;background:var(--accent);color:#fff;padding:2px 7px;border-radius:3px;vertical-align:middle}
.tag-off{background:#b08a5a}
.check{display:flex;gap:8px;align-items:center;margin:14px 0;font-size:.95rem}
.cancel{margin-left:14px;color:var(--muted)}
.muted{color:var(--muted)}

/* ---------- nav cart pill ---------- */
.nav-cart{font-weight:600}

/* ---------- shop ---------- */
.product-card .card-label{display:flex;flex-direction:column;gap:2px}
.product-card .price,.shop .price{font-family:var(--sans);font-size:.85rem;opacity:.9}
.price-lg{font-family:var(--serif);font-size:1.8rem;color:var(--accent-dark);margin:.2em 0 .6em}

/* ---------- cart / order tables ---------- */
.cart-table{width:100%;border-collapse:collapse;margin-top:10px}
.cart-table td{padding:14px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.cart-thumb img{width:64px;height:64px;object-fit:cover;border-radius:3px}
.cart-sub{text-align:right;white-space:nowrap;font-weight:600}
.cart-total td{border-top:2px solid var(--ink);border-bottom:none;font-weight:700;font-size:1.1rem;padding-top:16px}
.cart-total td:last-child{text-align:right}
.qty-form{display:flex;gap:8px;align-items:center}
.qty-form input{width:64px;padding:8px;border:1px solid var(--line);border-radius:2px}

/* ---------- auth ---------- */
.auth-box{max-width:440px}

/* ---------- order status badge ---------- */
.badge{display:inline-block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  padding:3px 10px;border-radius:20px}
.badge-pending{background:#f3e6cf;color:#8a6d2f}
.badge-paid{background:#dcebd6;color:#33602a}
.badge-shipped{background:#d6e6ef;color:#27566a}
.badge-cancelled{background:#efd9d6;color:#8a3328}

/* ---------- events ---------- */
.event-list{display:grid;gap:30px}
.event-card{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#fff}
.event-card img{width:100%;height:100%;object-fit:cover;min-height:200px}
.event-body{padding:26px 28px}
.event-body h2{margin:0 0 8px}
.event-meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:.9rem;margin-bottom:12px}
.event-cost{color:var(--accent-dark);font-weight:600}
.blog-card img{aspect-ratio:3/2;object-fit:cover;width:100%}
.post-meta{font-family:var(--sans);font-size:.85rem;letter-spacing:.04em;color:var(--muted);margin-top:6px}
.post-date{display:block;font-family:var(--sans);font-size:.72rem;font-weight:400;letter-spacing:.04em;opacity:.85;margin-top:4px;text-transform:none}

/* ---------- legal pages ---------- */
.legal{font-size:1.02rem}
.legal h2{font-size:1.5rem;margin:1.6em 0 .4em}
.legal ul{padding-left:1.2em;margin:0 0 1.1em}
.legal li{margin-bottom:.5em}
.legal code{background:var(--bg-alt);padding:1px 6px;border-radius:3px;font-size:.9em}
.legal-table{width:100%;border-collapse:collapse;margin:1em 0}
.legal-table th,.legal-table td{border:1px solid var(--line);padding:9px 12px;text-align:left;font-size:.92rem;vertical-align:top}
.legal-table th{background:var(--bg-alt)}
.foot-legal a{color:#e9dcc4}

/* ---------- cookie consent banner ---------- */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--ink);color:#f0e8da;box-shadow:0 -6px 24px -10px rgba(0,0,0,.5)}
.cookie-inner{display:flex;align-items:center;gap:20px;padding:16px 24px;flex-wrap:wrap;justify-content:space-between}
.cookie-inner p{margin:0;font-size:.9rem;max-width:64ch}
.cookie-inner a{color:#e9dcc4;text-decoration:underline}
.cookie-actions{display:flex;gap:10px;flex-shrink:0}
.cookie-banner .btn-small{border-color:#7d6f57;color:#f0e8da}
.cookie-banner .btn-small:hover{background:#f0e8da;color:var(--ink)}
.cookie-banner .btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}
.cookie-banner .btn-accent:hover{background:#fff;color:var(--ink);border-color:#fff}
@media(max-width:600px){.cookie-inner{flex-direction:column;align-items:flex-start;gap:12px}}

/* ---------- facebook embed (click-to-load) ---------- */
.fb-embed{margin-top:26px;display:flex;flex-direction:column;align-items:center;min-height:60px}
.fb-embed iframe{margin:0 auto;background:#fff;border-radius:4px}
.article-hero{width:100%;border-radius:4px;margin-bottom:26px}
.article p{font-size:1.08rem}
@media(max-width:680px){.event-card{grid-template-columns:1fr}.event-card img{min-height:200px}}

/* ================================================================ ADMIN */
.admin-body{background:#f3efe8}
.admin-header{background:var(--ink);color:#e9dcc4;position:sticky;top:0;z-index:50}
.admin-bar{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:20px;padding:12px 24px;flex-wrap:wrap}
.admin-brand{font-family:var(--serif);font-size:1.2rem;color:#fff;font-weight:600}
.admin-nav{display:flex;gap:18px;flex:1;flex-wrap:wrap}
.admin-nav a{color:#cdbfa6;font-size:.85rem;letter-spacing:.04em}
.admin-nav a.on,.admin-nav a:hover{color:#fff}
.admin-right{display:flex;gap:14px;align-items:center}
.admin-right a{color:#e9dcc4;font-size:.85rem}
.admin-right .btn-small{border-color:#7d6f57;color:#e9dcc4}
.admin-right .btn-small:hover{background:#e9dcc4;color:var(--ink)}
.admin-main{padding:40px 0 80px}
.admin-container{max-width:1100px;margin:0 auto;padding:0 24px}
.admin-main h1{font-size:2.2rem;margin-bottom:18px}
.admin-main h2{font-size:1.4rem;margin:0 0 16px}

.admin-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;margin:24px 0}
.admin-tile{background:#fff;border:1px solid var(--line);border-radius:6px;padding:22px;color:var(--ink);display:flex;flex-direction:column;gap:6px;font-weight:600}
.admin-tile:hover{border-color:var(--accent);color:var(--accent-dark)}
.admin-tile .n{font-family:var(--serif);font-size:2.2rem;color:var(--accent-dark);line-height:1}
.admin-tile em{font-style:normal;color:var(--accent);font-size:.8rem}
.admin-note{background:#fff;border:1px solid var(--line);border-radius:6px;padding:20px 24px;margin-top:20px;color:var(--muted);font-size:.92rem}
.admin-note strong{color:var(--ink)}

.admin-form{background:#fff;border:1px solid var(--line);border-radius:6px;padding:26px 28px;margin-bottom:34px}
.admin-form .field{margin-bottom:16px}
.admin-form label{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-bottom:6px}
.admin-form input,.admin-form textarea,.admin-form select{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:3px;font-family:inherit;font-size:1rem;background:#fff}
.admin-form input[type=file]{padding:8px;border:1px dashed var(--line)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
@media(max-width:640px){.grid2,.grid3{grid-template-columns:1fr}}

.admin-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.admin-table th,.admin-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;font-size:.94rem}
.admin-table th{background:#faf7f1;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.admin-table .row-off{opacity:.5}
.row-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row-actions form{margin:0}
.row-actions button,.admin-card-actions button{background:none;border:1px solid var(--line);border-radius:3px;padding:5px 10px;cursor:pointer;font-size:.8rem}
.row-actions button:hover,.admin-card-actions button:hover{border-color:var(--ink)}
.row-actions .danger,.admin-card-actions .danger{color:#a3382c;border-color:#e0c4bf}
.row-actions .danger:hover{background:#a3382c;color:#fff;border-color:#a3382c}

.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:34px}
.admin-card{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.admin-card.is-hidden{opacity:.5}
.admin-card img{width:100%;aspect-ratio:1;object-fit:cover}
.admin-card-body{padding:10px 12px;font-size:.85rem;display:flex;justify-content:space-between;align-items:center;gap:6px}
.admin-card-actions{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 12px;align-items:center}
.admin-card-actions form{margin:0}
.admin-card-actions a{font-size:.8rem}
.status-form{display:flex;gap:10px;align-items:center}
.status-form select{padding:10px;border:1px solid var(--line);border-radius:3px}
