:root { --max: 1120px; --pad: 18px; --b: #0f0f10; --g: #f4f4f6; --bd: #e8e8ee; --muted:#5a5a66; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: var(--b); background: #fff; }
a { color: inherit; }
.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;}
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad); }
.topbar { border-bottom: 1px solid var(--bd); background: #fff; position: sticky; top: 0; z-index: 100; }
.topbar-inner { display:flex; align-items:center; gap: 14px; padding: 14px var(--pad); }
.brand { font-weight: 800; text-decoration:none; flex:0 0 auto; }
.nav-toggle{display:none !important;margin-left:auto;width:44px;height:44px;border:1px solid var(--bd);border-radius:14px;background:#fff;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.nav-toggle span{display:block;width:18px;height:2px;background:#111;border-radius:999px;transition:transform .2s ease, opacity .2s ease;}
.nav-toggle span + span{margin-top:4px;}
.nav-toggle[hidden]{display:none !important;}
.nav { margin-left:auto; display:flex; gap: 8px; align-items:center; justify-content:flex-end; flex-wrap:nowrap; min-width:0; }
.nav > a { text-decoration:none; padding: 8px 10px; border-radius: 12px; white-space:nowrap; }
.nav > a:hover { background: var(--g); }

h1 { font-size: clamp(26px, 4vw, 40px); margin: 22px 0 10px; }
h2 { margin: 18px 0 10px; }
p { color: var(--muted); margin-top: 0; }

.grid { display:grid; gap: 14px; }
.grid.cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 940px) { .grid.cols-3 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 620px) { .grid.cols-3 { grid-template-columns: repeat(1, minmax(0,1fr)); } }

.card { border: 1px solid var(--bd); border-radius: 18px; overflow:hidden; background:#fff; box-shadow: 0 10px 30px rgba(0,0,0,.04); text-decoration:none; }
.card img { width:100%; height: 150px; object-fit: cover; display:block; background: var(--g); }
.card .pad { padding: 12px 14px; }
.card .title { font-weight: 700; margin: 0; }
.card .meta { font-size: 13px; color: var(--muted); margin: 6px 0 0; }

.btn { display:inline-flex; align-items:center; gap: 8px; padding: 10px 14px; border-radius: 14px; border: 1px solid var(--bd); background: #111; color:#fff; text-decoration:none; cursor:pointer; }
.btn.secondary { background:#fff; color:#111; }
.btn.danger { background:#b91c1c; color:#fff; border-color:#b91c1c; }
.btn.danger:hover { filter: brightness(.96); }
.btn.lg { padding: 14px 20px; font-size: 16px; font-weight: 700; }
.pending-order-delete-box { border-left:4px solid #b91c1c; }
.btn:disabled { opacity: .6; cursor:not-allowed; }

.notice { border: 1px solid var(--bd); background: #fbfbfd; border-radius: 14px; padding: 12px 14px; color: var(--muted); }
.form { max-width: 520px; }
.field { margin: 12px 0; display:grid; gap: 6px; }
input, textarea, select { padding: 10px 12px; border: 1px solid var(--bd); border-radius: 12px; font: inherit; }
small { color: var(--muted); }

.toolbar { display:flex; gap: 10px; align-items:center; flex-wrap: wrap; margin: 10px 0 14px; }
.footer { margin-top: 42px; border-top: 1px solid var(--bd); padding: 18px 0; color: var(--muted); font-size: 13px; }

.gallery-grid img { cursor: pointer; }
.lightbox { position: fixed; inset:0; background: rgba(0,0,0,.75); display:none; align-items:center; justify-content:center; padding: 18px; z-index: 50; }
.lightbox.open { display:flex; }
.lightbox-inner { max-width: 1100px; width: 100%; }
.lightbox-inner img { width: 100%; height: auto; border-radius: 18px; background:#111; }
.lb-bar { display:flex; gap: 10px; justify-content:space-between; align-items:center; margin-top: 10px; }
.lb-bar .left { display:flex; gap: 10px; align-items:center; color:#fff; }
.lb-bar .right { display:flex; gap: 10px; align-items:center; }
.lb-bar button { border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.10); color:#fff; }
.table { width:100%; border-collapse: collapse; }
.table th, .table td { border-bottom: 1px solid var(--bd); padding: 10px 8px; text-align:left; }

/* Responsive tables */
.table-wrap { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--bd); border-radius:14px; }
.table { width:100%; border-collapse: collapse; min-width: 520px; }
.table th, .table td { text-align:left; padding: 10px 12px; border-bottom: 1px solid var(--bd); vertical-align: middle; }
.table thead th { background: #fbfbfd; font-weight:700; }
.thumb { width: 64px; height: 64px; object-fit: cover; border-radius: 12px; border:1px solid var(--bd); background: var(--g); }
@media (max-width: 620px){
  :root { --pad: 12px; }
  .topbar .wrap { padding: 12px var(--pad); }
  .nav { gap: 6px; }
  .btn { padding: 10px 12px; border-radius: 14px; }
  .lightbox-inner { width: 94vw; }
  .lb-bar { flex-direction: column; align-items: stretch; gap: 10px; }
  .lb-bar .right { display:flex; flex-direction: column; gap: 10px; align-items: stretch; }
  #lb-product, #lb-qty { width: 100%; }
}

.lightbox-inner { max-height: 92vh; overflow: auto; }
.lb-bar { position: sticky; bottom: 0; background: rgba(255,255,255,.92); backdrop-filter: blur(8px); }
@media (max-width: 620px){
  .table-wrap { overflow-x: visible; }
  .table thead { display:none; }
  .table, .table tbody, .table tr, .table td { display:block; width:100%; }
  .table tr { margin: 0 0 12px; border:1px solid #e9eef4; border-radius: 16px; overflow:hidden; }
  .table td { padding: 10px 12px; border-top:1px solid #eef2f6; }
  .table td:first-child { border-top:none; }
}



/* --- v6+ lightbox (frontend) – adminhoz hasonló stílus --- */
.lightbox.open { display:flex; }
.lightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,.72); align-items:center; justify-content:center; padding:16px; z-index:999; }
.lightbox-inner { background:#fff; border-radius:18px; width:min(980px, 100%); max-height:92vh; overflow:hidden; display:flex; flex-direction:column; box-shadow: 0 30px 90px rgba(0,0,0,.35); }
.lb-top { display:flex; gap:10px; align-items:center; justify-content:space-between; padding:12px 14px; background:#fff; border-bottom:1px solid var(--bd); }
#lb-title { color:#111; font-weight:700; font-size:16px; line-height:1.2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#lb-close { flex:0 0 auto; padding:8px 10px; }
/* A teljes modal tartalma görgethető (mobilon is), a fejléc fixen látszik */
.lb-body{ flex:1 1 auto; overflow:auto; -webkit-overflow-scrolling:touch; scrollbar-gutter: stable both-edges; }
#lb-img { width:100%; height:auto; max-height:56vh; object-fit:contain; background:#0b0b0c; display:block; }

.lb-info { padding: 12px 14px 18px; border-top:1px solid var(--bd); background:#fff; }
.lb-products-title{ font-weight:800; margin:0 0 10px; }
.lb-scroll-hint{ font-size:12px; color:var(--muted); margin:-6px 0 10px; }
.lb-products{ display:flex; flex-direction:column; gap:10px; overflow:visible; padding-right: 6px; padding-bottom: 26px; }
.lb-row{ display:flex; gap:12px; align-items:center; padding:10px 12px; border:1px solid var(--bd); border-radius:14px; background:#fff; }
.lb-prod{ flex:1 1 auto; min-width: 0; }
.lb-prod-name{ font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lb-prod-meta{ font-size:13px; color:var(--muted); margin-top:4px; }
.lb-qtywrap{ width: 92px; }
.lb-qty{ width:100%; }
.lb-actions{ display:flex; gap:8px; align-items:center; }
.lb-actions-single{ justify-content:flex-end; }
.lb-actions-single .btn{ min-width:120px; }
.lb-actions-single .btn:disabled{ opacity:1; cursor:default; }
.lb-actions-single .btn.is-in-cart{ background:#fff1f2; color:#b91c1c; border-color:#fca5a5; }
.lb-iconbtn{ width:40px; height:40px; border-radius:12px; border:1px solid var(--bd); background:#fbfbfd; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.lb-iconbtn:disabled{ opacity:1; cursor:not-allowed; filter: grayscale(1); color:#111; background:#fff; }
/* alsó bezáró gombot elhagytuk; a fejlécben lévő Bezár mindig látszik */

@media (max-width: 700px) {
  .lightbox { padding:10px; }
  .lightbox-inner { border-radius:16px; max-height:94vh; }
  #lb-img { max-height:52vh; }
  .lb-row{ flex-direction:column; align-items:stretch; }
  .lb-qtywrap{ width:100%; }
  .lb-actions{ justify-content:flex-end; }
  #lb-close { padding:8px 10px; }
}

@media (min-width: 992px) {
  /* nagyobb kijelzőn több hely a terméklistának */
  #lb-img { max-height:58vh; }
}

.stack{display:flex;flex-direction:column;gap:10px;}

.pill{display:inline-block;padding:8px 10px;border-radius:12px;background:var(--g);font-size:13px;color:var(--muted);}

.card img{width:100%;height:150px;object-fit:contain;display:block;background:#f6f6f6}

@media (max-width: 640px){
  .lightbox{ padding:10px; }
  .lightbox-inner{ max-height:96vh; }
  #lb-img{ max-height:42vh; }
  .lb-info{ padding-bottom: 22px; }
}


.paypal-checkout-box{border:1px solid #dbe3ea;border-radius:16px;padding:16px;background:#fbfdff;}
.paypal-section{margin-top:16px;padding-top:16px;border-top:1px solid #e5edf5;}
.paypal-section:first-of-type{margin-top:0;padding-top:0;border-top:0;}
.paypal-section-title{display:block;margin-bottom:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;}
.pp-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px;}
.pp-card-fields-grid{grid-template-columns:2fr 1fr 1fr;}
.pp-text-input{width:100%;padding:11px 12px;border:1px solid #cfd9e3;border-radius:12px;background:#fff;box-sizing:border-box;}
.pp-card-field{min-height:48px;border:1px solid #cfd9e3;border-radius:12px;background:#fff;padding:4px 10px;display:flex;align-items:center;}
#paypal-buttons iframe{max-width:100%;}
#googlepay-container button{border-radius:12px;overflow:hidden;}


.checkout-card{border:1px solid var(--bd);border-radius:18px;background:#fff;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.03);}
.form-wide{max-width:none;}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;}
.field{margin:0;display:flex;flex-direction:column;gap:6px;min-width:0;}
.field-full{grid-column:1 / -1;}
.field label{font-weight:600;color:#111;}
.req{color:#d11a2a;font-weight:700;}
.checkbox-field{margin-top:2px;}
.checkbox-inline{display:flex;align-items:flex-start;justify-content:flex-start;gap:10px;font-weight:400 !important;width:100%;}
.checkbox-inline input{margin-top:2px;flex:0 0 auto;}
.checkbox-inline span{flex:1 1 auto;min-width:0;line-height:1.45;word-break:break-word;}
.checkout-consent-row{margin-top:16px;padding-top:4px;}
.checkout-consent-row .checkbox-inline{display:flex;align-items:flex-start;gap:10px;width:100%;max-width:100%;}
.checkout-consent-row .checkbox-inline input{margin-top:3px;flex:0 0 auto;}
.checkout-consent-row .checkbox-inline span{display:block;flex:1 1 auto;min-width:0;max-width:100%;line-height:1.5;word-break:break-word;}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.checkout-form input,.checkout-form textarea,.checkout-form select{width:100%;}
.checkout-form small{display:block;}
@media (max-width: 760px){
  .form-grid{grid-template-columns:1fr;}
  .field-full{grid-column:auto;}
}


/* v1.30.8 – mobil kosár kártyanézet javítás */
.cart-table td{overflow-wrap:anywhere;word-break:break-word;}
.cart-table td:last-child{white-space:normal;}
@media (max-width: 820px){
  .cart-table-wrap{overflow-x:visible;}
  .cart-table{min-width:0 !important;}
  .cart-table thead{display:none;}
  .cart-table,
  .cart-table tbody,
  .cart-table tr,
  .cart-table td{display:block;width:100% !important;}
  .cart-table tr{margin:0 0 14px;border:1px solid var(--bd);border-radius:16px;overflow:hidden;background:#fff;}
  .cart-table td{padding:10px 12px;border-top:1px solid #eef2f6;text-align:left !important;}
  .cart-table td:first-child{border-top:none;}
  .cart-table td:nth-child(1){padding-bottom:6px;}
  .cart-table td:nth-child(2){font-weight:600;}
  .cart-table td:nth-child(4) input{width:100% !important;max-width:120px;}
  .cart-table td:last-child{display:flex;justify-content:flex-end;align-items:center;}
  .cart-table .btn{max-width:100%;}
}

.nav-dropdown{position:relative;flex:0 0 auto;}
.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;border-radius:12px;background:var(--g);font-size:13px;color:var(--muted);border:1px solid var(--bd);white-space:nowrap;font:inherit;}
.nav-dropdown-toggle:hover{background:#eef0f4;}
.nav-dropdown.is-open .nav-dropdown-toggle{background:#fff;}
.nav-dropdown-email{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nav-dropdown-caret{font-size:11px;line-height:1;transition:transform .2s ease;}
.nav-dropdown.is-open .nav-dropdown-caret{transform:rotate(180deg);}
.nav-dropdown-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:260px;background:#fff;border:1px solid var(--bd);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.12);padding:8px;display:none;gap:4px;z-index:130;}
.nav-dropdown-menu[hidden]{display:none !important;}
.nav-dropdown.is-open .nav-dropdown-menu{display:grid !important;}
.nav-dropdown-menu a{text-decoration:none;padding:10px 12px;border-radius:12px;display:block;white-space:nowrap;}
.nav-dropdown-menu a:hover{background:var(--g);}
.account-nav{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px;}
.account-nav a{text-decoration:none;}
.account-nav .is-active{background:#111;color:#fff;}
.account-grid{display:grid;gap:18px;}
.order-status-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--g);}
.order-status-pill.is-paid{background:#e9f8ef;color:#157347;}
.order-status-pill.is-pending{background:#fff7d6;color:#9a6700;}
.order-status-pill.is-rejected{background:#fff0f1;color:#b42318;}
.order-status-pill.is-fulfilled{background:#eef6ff;color:#1d4ed8;}


@media (min-width: 861px){
  .topbar-inner{flex-wrap:nowrap;}
  .nav{display:flex !important;}
  .nav-dropdown{display:flex;align-items:center;}
}
@media (max-width: 860px){
  .topbar-inner{flex-wrap:wrap;}
  .nav-toggle{display:inline-flex !important;flex-direction:column;}
  .nav{display:none;flex-direction:column;align-items:stretch;width:100%;margin-left:0;padding-top:8px;border-top:1px solid var(--bd);}
  .nav.is-open{display:flex;}
  .nav > a{padding:12px 10px;border-radius:12px;}
  .nav-dropdown{width:100%;}
  .nav-dropdown-toggle{width:100%;justify-content:space-between;padding:12px 10px;font-size:14px;}
  .nav-dropdown-email{max-width:none;}
  .nav-dropdown-menu{position:static;min-width:0;margin-top:8px;box-shadow:none;border-radius:14px;}
  .nav-dropdown-menu a{white-space:normal;}
}

@media (max-width: 760px){
  .account-nav{display:grid;grid-template-columns:1fr;gap:10px;}
  .account-nav .btn{width:100%;justify-content:center;}
  .checkout-card{padding:14px;overflow:hidden;}
  .account-orders-table{min-width:0 !important;}
  .account-orders-table thead{display:none;}
  .account-orders-table,
  .account-orders-table tbody,
  .account-orders-table tr,
  .account-orders-table td{display:block;width:100% !important;}
  .account-orders-table tr{margin:0 0 14px;border:1px solid var(--bd);border-radius:16px;overflow:hidden;background:#fff;}
  .account-orders-table td{padding:10px 12px;border-top:1px solid #eef2f6;text-align:left !important;}
  .account-orders-table td:first-child{border-top:none;}
  .account-orders-table td::before{content:attr(data-label);display:block;margin-bottom:4px;font-size:12px;font-weight:700;color:var(--muted);}
  .account-orders-table td:last-child .btn{width:100%;justify-content:center;}
}
