galali-shoptet 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/style.css +238 -30
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "galali-shoptet",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "description": "Custom CSS for Galali Shoptet theme (designshop.galali.cz)",
5
5
  "main": "style.css",
6
6
  "style": "style.css",
package/style.css CHANGED
@@ -2966,7 +2966,6 @@ body.type-detail .content-wrapper .similar-products .products {
2966
2966
 
2967
2967
  /* Layout: main 8/4 split (cart items / sidebar), responsive */
2968
2968
  body.ordering-process main#content,
2969
- body.ordering-process main#content,
2970
2969
  body:has(#cart-wrapper) main#content {
2971
2970
  padding: 0 var(--gl-gutter) var(--gl-section-gap) !important;
2972
2971
  box-sizing: border-box;
@@ -3297,21 +3296,7 @@ table.cart-table td.p-total strong.price-final {
3297
3296
  }
3298
3297
  table.cart-table td.p-total form.inline { display: inline-block; }
3299
3298
  table.cart-table td.p-total button.remove-item {
3300
- /*! position: absolute; */
3301
- /*! right: 0; */
3302
- /*! top: 50%; */
3303
- /*! transform: translateY(-50%); */
3304
- /*! width: 32px; */
3305
- /*! height: 32px; */
3306
- /*! background: transparent; */
3307
- /*! border: none; */
3308
3299
  cursor: pointer;
3309
- /*! padding: 0; */
3310
- /*! transition: opacity .15s; */
3311
- /*! background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23828282' stroke-width='1.5' stroke-linecap='round'><path d='M4 4l8 8M12 4l-8 8'/></svg>"); */
3312
- /*! background-position: center; */
3313
- /*! background-repeat: no-repeat; */
3314
- /*! background-size: 16px 16px; */
3315
3300
  min-width: 0;
3316
3301
  border: 1px solid black;
3317
3302
  margin-left: 5px;
@@ -3629,7 +3614,6 @@ button[type="submit"]:not(#orderFormButton):not(.btn-conversion):hover {
3629
3614
 
3630
3615
  /* Responsive košík */
3631
3616
  @media (max-width: 1023px) {
3632
- body.ordering-process main#content,
3633
3617
  body.ordering-process main#content { padding: 0 32px 96px !important; }
3634
3618
  #cart-wrapper .row.cart-row {
3635
3619
  grid-template-columns: 1fr !important;
@@ -3646,7 +3630,6 @@ button[type="submit"]:not(#orderFormButton):not(.btn-conversion):hover {
3646
3630
  .cart-summary .extras-wrapper { grid-template-columns: 1fr; }
3647
3631
  }
3648
3632
  @media (max-width: 767px) {
3649
- body.ordering-process main#content,
3650
3633
  body.ordering-process main#content { padding: 0 16px 64px !important; }
3651
3634
  #cart-wrapper { padding: 16px 0 0; }
3652
3635
  ol.cart-header > li,
@@ -4875,30 +4858,35 @@ body.ordering-process input[type="checkbox"] {
4875
4858
  outline-offset: 4px;
4876
4859
  }
4877
4860
 
4878
- /* Mobile */
4879
- @media (max-width: 767px) {
4861
+ /* Mobile — POZOR: base .siteCookies__button má min-width:140px !important,
4862
+ takže mobilní shrink MUSÍ mít taky !important, jinak buttony nezmenší → banner
4863
+ přeteče 390px → roztáhne layout viewport (ikony headeru ujedou z obrazovky). */
4864
+ @media (max-width: 1023px) {
4880
4865
  .siteCookies,
4881
4866
  .siteCookies.siteCookies--bottom,
4882
4867
  .siteCookies.siteCookies--light,
4883
4868
  .siteCookies.siteCookies--scrolled {
4884
- left: 16px;
4885
- right: 16px;
4886
- bottom: 16px;
4869
+ left: 12px !important;
4870
+ right: 12px !important;
4871
+ bottom: 12px !important;
4872
+ max-width: calc(100vw - 24px) !important;
4873
+ box-sizing: border-box !important;
4887
4874
  }
4888
4875
  .siteCookies .siteCookies__form {
4889
- flex-direction: column;
4890
- align-items: stretch;
4891
- gap: 16px;
4892
- padding: 16px;
4876
+ flex-direction: column !important;
4877
+ align-items: stretch !important;
4878
+ gap: 14px !important;
4879
+ padding: 16px !important;
4893
4880
  }
4894
4881
  .siteCookies .siteCookies__buttonWrap {
4895
- flex-direction: column;
4896
- gap: 8px;
4882
+ flex-direction: column !important;
4883
+ gap: 8px !important;
4884
+ width: 100% !important;
4897
4885
  }
4898
4886
  .siteCookies button.siteCookies__button,
4899
4887
  .siteCookies .siteCookies__button {
4900
- width: 100%;
4901
- min-width: 0;
4888
+ width: 100% !important;
4889
+ min-width: 0 !important;
4902
4890
  }
4903
4891
  }
4904
4892
 
@@ -7395,3 +7383,223 @@ body.type-search .products.products-block .product .add-to-cart {
7395
7383
  body.type-search .products.products-block .product .price.price-final { font-size: 14px; }
7396
7384
  }
7397
7385
 
7386
+ /* ============================================================
7387
+ === Mobil audit fixes (2026-07-03) — konzistence napříč eshopem ===
7388
+ Zdroj: full mobile audit (home/detail/kategorie/search/košík/checkout/registrace/login/heslo).
7389
+ ============================================================ */
7390
+
7391
+ @media (max-width: 1023px) {
7392
+ /* --- A1) Skryj topnav menu (Jak nakupovat / OP) na mobilu ---
7393
+ Globální "desktop polish" rule `.top-navigation-menu{display:flex}` (bez media query,
7394
+ pozdější v pořadí) přebíjela mobilní `display:none` → menu se zobrazovalo a jeho bílé
7395
+ pozadí PŘEKRÝVALO logo. Late-source !important vrací hidden. */
7396
+ .top-navigation-bar .top-navigation-menu,
7397
+ .top-navigation-bar .top-navigation-menu-trigger,
7398
+ .top-navigation-bar ul.top-navigation-bar-menu {
7399
+ display: none !important;
7400
+ }
7401
+
7402
+ /* --- A2) Topnav VŽDY fixed overlay (konzistentně) ---
7403
+ Vendor dává topnav `fixed` na homepage, ale `static` na kategorii/detailu/košíku/checkoutu
7404
+ → tam header spadl na 2. řádek (logo pod ikonami) a checkout step-bar (ol.cart-header)
7405
+ se schoval za header (vykukoval jen černý kroužek kroku = "blob").
7406
+ Fixed = header sedí na y=0 (logo vlevo), ikony transparentně přes něj vpravo,
7407
+ obsah teče pod headerem → 1 řádek na VŠECH stránkách + step-bar viditelný. */
7408
+ .top-navigation-bar {
7409
+ position: fixed !important;
7410
+ top: 0 !important;
7411
+ left: 0 !important;
7412
+ right: 0 !important;
7413
+ width: 100% !important;
7414
+ z-index: 60 !important;
7415
+ background: transparent !important;
7416
+ border: 0 !important;
7417
+ box-shadow: none !important;
7418
+ /* Bar leží (fixed, z60) přes logo v headeru → jinak přebírá kliky a logo
7419
+ není klikatelné. none = kliky projdou na logo pod ním; ikony mají auto níž. */
7420
+ pointer-events: none !important;
7421
+ }
7422
+ .top-navigation-bar .top-navigation-tools,
7423
+ .top-navigation-bar .responsive-tools,
7424
+ .top-navigation-bar .responsive-tools * {
7425
+ pointer-events: auto !important;
7426
+ }
7427
+ header#header {
7428
+ position: sticky !important;
7429
+ top: 0 !important;
7430
+ }
7431
+
7432
+ /* --- A3) Reset ordering-process login boxu na HEADER ikoně ---
7433
+ Rule `body.ordering-process .toggle-window[data-target=login]` (mířená na checkout
7434
+ login trigger) trefovala i header ikonu → bílý bordered box místo ikony. Vrátit ikonu. */
7435
+ body.ordering-process .top-navigation-bar .responsive-tools a.toggle-window[data-target="login"] {
7436
+ padding: 0 !important;
7437
+ background-color: transparent !important;
7438
+ border: 0 !important;
7439
+ border-radius: 0 !important;
7440
+ letter-spacing: 0 !important;
7441
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none' stroke='black' stroke-width='1.8'><circle cx='14' cy='10' r='4'/><path d='M6 24c0-4 4-7 8-7s8 3 8 7'/></svg>") !important;
7442
+ background-position: center !important;
7443
+ background-repeat: no-repeat !important;
7444
+ background-size: 22px 22px !important;
7445
+ }
7446
+
7447
+ /* --- A4) Větší tap-target ikon (min 44px hit area), vizuální ikona 22px.
7448
+ position:relative + z-index → ikony vždy nad sourozenci (na checkoutu byl
7449
+ search anchor jinak nehittestovatelný = neklikatelný). --- */
7450
+ .top-navigation-bar .top-navigation-tools .responsive-tools a.toggle-window {
7451
+ width: 44px !important;
7452
+ min-width: 44px !important;
7453
+ height: 44px !important;
7454
+ background-size: 22px 22px !important;
7455
+ position: relative !important;
7456
+ z-index: 2 !important;
7457
+ pointer-events: auto !important;
7458
+ }
7459
+ .top-navigation-bar .top-navigation-tools .responsive-tools { gap: 2px !important; }
7460
+ .top-navigation-bar .container { height: 56px !important; padding: 0 8px 0 16px !important; }
7461
+ }
7462
+
7463
+ /* --- B) Account/form primární tlačítka: modrá/purpurová → černá ---
7464
+ REGISTROVAT (input.btn-login), PŘIHLÁSIT SE (button.btn-login), ODESLAT (input.btn-primary),
7465
+ 404 "Zpět do obchodu" (a.btn-default). Vendor je nechává modré/purpurové. */
7466
+ input.btn.btn-primary, input[type="submit"].btn-primary, input[type="submit"].btn-login,
7467
+ input.btn.btn-login, button.btn.btn-login,
7468
+ a.btn.btn-default:not(.unveil-button):not(.toggle-contacts):not(.next-step-forward) {
7469
+ background: var(--gl-black) !important;
7470
+ background-color: var(--gl-black) !important;
7471
+ background-image: none !important;
7472
+ color: var(--gl-white) !important;
7473
+ border: 1px solid var(--gl-black) !important;
7474
+ border-radius: 0 !important;
7475
+ box-shadow: none !important;
7476
+ text-transform: uppercase !important;
7477
+ letter-spacing: 0.06em !important;
7478
+ font-family: var(--gl-font-ui) !important;
7479
+ font-weight: var(--gl-w-medium) !important;
7480
+ padding: 12px 24px !important;
7481
+ min-height: 44px !important;
7482
+ cursor: pointer;
7483
+ transition: background .15s;
7484
+ }
7485
+ input.btn.btn-primary:hover, input.btn.btn-login:hover,
7486
+ button.btn.btn-login:hover, a.btn.btn-default:not(.unveil-button):hover {
7487
+ background: #1a1a1a !important;
7488
+ background-color: #1a1a1a !important;
7489
+ }
7490
+
7491
+ /* --- C) Load-more + "Nahoru": modrá → černá outline --- */
7492
+ button.loadMore__button, a.loadMore__button, .loadMore__button,
7493
+ a.goToTop__button, .goToTop__button.btn {
7494
+ color: var(--gl-fg-1) !important;
7495
+ background: var(--gl-white) !important;
7496
+ background-color: var(--gl-white) !important;
7497
+ background-image: none !important;
7498
+ border: 1px solid var(--gl-fg-1) !important;
7499
+ border-radius: 0 !important;
7500
+ box-shadow: none !important;
7501
+ text-transform: uppercase !important;
7502
+ letter-spacing: 0.06em !important;
7503
+ font-family: var(--gl-font-ui) !important;
7504
+ font-weight: var(--gl-w-medium) !important;
7505
+ }
7506
+ button.loadMore__button:hover, a.goToTop__button:hover, .loadMore__button:hover {
7507
+ background: var(--gl-fg-1) !important;
7508
+ background-color: var(--gl-fg-1) !important;
7509
+ color: var(--gl-white) !important;
7510
+ }
7511
+
7512
+ /* --- D) Modré textové odkazy (account formuláře, search kategorie) → černá podtržená --- */
7513
+ body.in-login #formLogin a,
7514
+ body.in-login #formLoginIncluded a,
7515
+ body.in-registrace #register-form a,
7516
+ body.in-zapomenute-heslo main a:not(.btn),
7517
+ #customerLogin #formLoginIncluded a,
7518
+ body.type-search #search-group-categories a,
7519
+ body.type-search .search-results-group a {
7520
+ color: var(--gl-fg-1) !important;
7521
+ text-decoration: underline !important;
7522
+ text-underline-offset: 3px;
7523
+ }
7524
+ body.in-login #formLogin a:hover,
7525
+ body.in-registrace #register-form a:hover,
7526
+ body.type-search .search-results-group a:hover {
7527
+ opacity: .7;
7528
+ }
7529
+ /* Search kategorie: zruš disc odrážky (vendor UL) → čistý seznam */
7530
+ body.type-search #search-group-categories ul,
7531
+ body.type-search .search-results-group-list {
7532
+ list-style: none !important;
7533
+ padding-left: 0 !important;
7534
+ margin-left: 0 !important;
7535
+ }
7536
+ body.type-search #search-group-categories li,
7537
+ body.type-search .search-results-group-list li {
7538
+ list-style: none !important;
7539
+ }
7540
+
7541
+ /* --- E) Checkout: vybraná doprava/platba (b.shipping-billing-name) je modrá → černá --- */
7542
+ b.shipping-billing-name,
7543
+ .shipping-billing-name,
7544
+ body.ordering-process .shipping-billing-name,
7545
+ body.ordering-process .cart-recap .price,
7546
+ body.ordering-process td.shipping-billing-name {
7547
+ color: var(--gl-fg-1) !important;
7548
+ }
7549
+
7550
+ /* --- F) Košík quantity stepper: vendor dává +/− buttonům position:absolute →
7551
+ vypadnou z gridu (cart CSS je narozdíl od detailu neresetuje) → rozhozený box.
7552
+ Přepnout na flex [− 1 +] jako na detailu. --- */
7553
+ table.cart-table span.quantity {
7554
+ display: inline-flex !important;
7555
+ flex-direction: row !important;
7556
+ align-items: stretch !important;
7557
+ width: 120px !important;
7558
+ height: 40px !important;
7559
+ padding: 0 !important;
7560
+ position: relative;
7561
+ overflow: hidden;
7562
+ }
7563
+ table.cart-table span.quantity button.decrease,
7564
+ table.cart-table span.quantity button.increase {
7565
+ position: static !important;
7566
+ inset: auto !important;
7567
+ top: auto !important; right: auto !important; bottom: auto !important; left: auto !important;
7568
+ width: 36px !important;
7569
+ min-width: 36px !important;
7570
+ height: auto !important;
7571
+ align-self: stretch !important;
7572
+ display: inline-flex !important;
7573
+ align-items: center !important;
7574
+ justify-content: center !important;
7575
+ font-size: 0 !important;
7576
+ background: transparent !important;
7577
+ }
7578
+ table.cart-table span.quantity button.decrease { order: 1 !important; border-right: 1px solid var(--gl-divider) !important; }
7579
+ table.cart-table span.quantity label { order: 2 !important; flex: 1 1 auto !important; margin: 0 !important; }
7580
+ table.cart-table span.quantity input.amount { width: 100% !important; }
7581
+ table.cart-table span.quantity button.increase { order: 3 !important; border-left: 1px solid var(--gl-divider) !important; }
7582
+ table.cart-table span.quantity button.decrease::before,
7583
+ table.cart-table span.quantity button.increase::before {
7584
+ position: static !important;
7585
+ inset: auto !important;
7586
+ top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
7587
+ display: block !important;
7588
+ width: auto !important;
7589
+ height: auto !important;
7590
+ margin: 0 !important;
7591
+ transform: none !important;
7592
+ font-size: 18px !important;
7593
+ line-height: 1 !important;
7594
+ color: var(--gl-fg-1) !important;
7595
+ background: none !important;
7596
+ }
7597
+ table.cart-table span.quantity button.decrease::before { content: "−" !important; }
7598
+ table.cart-table span.quantity button.increase::before { content: "+" !important; }
7599
+ table.cart-table span.quantity .increase__sign,
7600
+ table.cart-table span.quantity .decrease__sign,
7601
+ table.cart-table span.quantity .increase-tooltip,
7602
+ table.cart-table span.quantity .decrease-tooltip,
7603
+ table.cart-table span.quantity .js-increase-tooltip,
7604
+ table.cart-table span.quantity .js-decrease-tooltip { display: none !important; }
7605
+