/*

Custom theming for the Arcane Cavern store category

*/

@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Quicksand:wght@300..700&display=swap');

/* COLORS */

:root {
  --color1:#8860D0;
  --color2:#AA4A44;
  --color3:#62b8c1;
  --color4:#ffffff;
  --color5:#000000;
}

/* Reset */

html, body,
h1, h2, h3, h4, h5, h6,
a, p, span,
em, small, strong,
sub, sup,
mark, del, ins, strike,
abbr, dfn,
blockquote, q, cite,
code, pre,
ol, ul, li, dl, dt, dd,
div, section, article,
main, aside, nav,
header, hgroup, footer,
img, figure, figcaption,
address, time,
audio, video,
canvas, iframe,
details, summary,
fieldset, form, label, legend,
table, caption,
tbody, tfoot, thead,
tr, th, td{
margin: 0;
padding: 0;
border: 0;
}

*{
margin: 0px;
padding: 0px;
border: 0px;
font-family: inherit;
font-size: inherit;
line-height: inherit;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}

*:before,
*:after{
box-sizing: inherit;
}

a,
a:visited{
color: inherit;
text-decoration:none;
}

article,
aside,
footer,
header,
nav,
section,
main{
display: block;
}

li{
    list-style-type:none;
    list-style-position:inside;
}
/* Structure elements */

.wrapper{
    width:80%;
    margin:0 auto 0 auto;
  }
  .flexwrap{display:flex;}

/* Top-level styles */

img{max-width:100%;}

*{transition: all 0.2s ease;}

html{
  scroll-behavior: smooth;
  font:18px/1.4em Segoe UI, sans-serif;
}

body{
    background:url('http://maguspressworks.com/wp-content/uploads/2025/02/arcane-cavern-bg.png') repeat fixed;
}

header{
    border-bottom:2px solid var(--color1);
    background:#000;
}

.wrapper{
    width:80%;
    margin:0 auto 0 auto;
}

.store-logo{
    display:block;
    width:100%;
    height:16rem;
}

.store-logo{
    background:url('http://maguspressworks.com/wp-content/uploads/2025/02/arcane-cavern-logo.png') top center no-repeat;
    background-size:contain;
}
.magus-subtitle{
    text-align:center;
    font-family: "Press Start 2P", system-ui;
    color:#ebd2f1;
    font-size:1rem;
    text-transform:uppercase;
    margin:-2rem 0 4rem 0;
}

/* Navigation */

nav .menu{
  width:80%;
  margin:0 auto 0 auto;
  display:flex;
  flex-direction:row;
  justify-content:center;
  align-items:center;
}
nav ul li{
    width:50%;
}
nav .menu > li{
  list-style-type:none;
  line-height:2rem;
  position:relative;
}
nav .menu > li > a{
  display:block;
  text-decoration:none;
  text-align:center;
  padding:0 1rem 0 1rem;
  line-height:3rem;
  font-size:1rem;
  text-transform:uppercase;
  color:var(--color4);
  font-family: "Press Start 2P", system-ui;
  font-weight: 400;
  font-style: normal;
}
nav .menu > li:hover > a{
  color:#fff;
  z-index:10;
  margin-top:-5px;
  text-transform:uppercase;
}
nav .menu > li:hover a i{color:var(--color4);}

nav .menu {
    width: 80%;
    margin: 0 auto 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}
nav a:hover{
    background:var(--color1);
    color:var(--color4);
}

/* Nav Mobile */

.mobile-menu-icon{
    display:none;
    width:100%;
    padding:1rem;
    position:fixed;
    bottom:0;
    z-index:100;
  }
  .mobile-menu-icon .line{
    width:25px;
    height:5px;
    background-color:#00ff00;
    margin:5px auto 5px auto;
  }
  .close{
    display:none;
    width: 32px;
    height: 32px;
    text-align:center;
    margin:2px auto 2px auto;
  }
  .close:hover{opacity: 1;}
  .close:before, .close:after{
    position:absolute;
    text-align:center;
    content: ' ';
    height: 32px;
    width: 2px;
    background-color:#00ff00;
  }
  .close:before{transform: rotate(45deg);}
  .close:after{transform: rotate(-45deg);}
  
  nav .menu.nav-active{
    display:block;
    width: 100%!important;
    margin: 0 auto 0 auto!important;
    flex-direction: column!important;
    background: #000!important;
    position: fixed !important;
    top: 0;
  }
  nav .menu.nav-active li{
    width: 100%!important;
    line-height:3em;
  }

main .wrapper, main.wrapper{
    background:rgba(0,0,0,0.9);
    border:2px solid var(--color2);
    margin:2rem auto 2rem auto;
}
main.wrapper{
    color:#fff;
}

main.flexwrap aside{
    flex:1!important;
}
main.flexwrap section{
    flex:5!important;
    padding:2rem;
}

ul.products{
    flex:3;
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
    justify-content:space-between;
    padding:2rem;
}

ul.products li{
    flex-basis:24%;
    border:1px solid var(--color1);
    padding:1rem;
    text-align:center;
    font-family: "Press Start 2P", system-ui;
    font-size:.8em!important;
    font-weight:200!important;
}
ul.products li:hover{
    background:var(--color1);
}
.woocommerce-product-title{
    font-family: "Press Start 2P", system-ui;
    text-transform:uppercase;
    font-size:2rem;
    line-height:1.6em;
    color:var(--color1);
}
ul.products li:hover a{
    color:var(--color5);
}

ul.products li, ul.products li a{
    color:var(--color1);
    list-style-type:none;
    text-decoration:none;
    margin:0!important;
}

ul.products li .woocommerce-loop-product__title{
    border-top:1px solid var(--color1);
    padding:1rem 0 1rem 0;
    line-height:2em;
}

ul.products li .add_to_cart_button{
    display:block;
    width:75%;
    margin:1rem auto 1rem auto!important;
    color:var(--color5);
}

.woocommerce-Price-amount{
    font-size:2rem;
    line-height:1.6em;
    color:#00ff00;
}
li .woocommerce-Price-amount{
  font-size:1.2rem;
}

li:hover .woocommerce-Price-amount{
    color:var(--color4);
    font-weight:bold;
}

.woocommerce-product-title{
    font-family: "Press Start 2P", system-ui;
    text-transform:uppercase;
    font-size:1.4rem;
    line-height:1.6em;
    color:#fff;
}
.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images{
  width:30%;
  border:2px var(--color1) solid;
}
.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary{
  width:70%;
  padding:0 0 0 2rem;
}

.woocommerce .woocommerce-breadcrumb{
    text-transform:uppercase;
    font-family: "Press Start 2P", system-ui;
    font-weight: 300;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb{
    font-size:.8rem;
    text-decoration:none;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb:hover{
    color:#fff!important;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price{
    color:#00ff00;    
}

.wcpay-express-checkout-wrapper, .wc-block-components-express-payment__event-buttons{
  display:none!important;
}

.p-CondensedSinglePromotionView{
  background:#646464!important;
  padding:0.25rem!important;
}
.p-CondensedSinglePromotionView--Message-text{
  color:#000!important;
}

.quantity .qty{
    background:none!important;
    padding:0!important;
    color:var(--color4)!important;
    padding:0.25rem!important;
    border:1px solid var(--color1)!important;
}

h1.title{
    color:#fff;
    font-size:2rem;
    font-family: "Press Start 2P", system-ui;
    margin:4rem 0 2rem 0;
    text-transform:uppercase;
}
.woocommerce div.product .product_title{
  color:#fff;
  font-size:1.4rem;
  font-family: "Press Start 2P", system-ui;
  margin:2rem 0 2rem 0;
  text-transform:uppercase;
}

article{
    padding:2rem;
    font-size:1.4rem;
    line-height:1.8em;
    flex:3;
}

article p{
    margin:0 0 1rem 0;
}

/* Sidebars / Widgets */

  .sidebar{
    flex:1;
    padding:1rem;
    margin-left:1rem;
    height:100%;
  }

.sidebar{border:0;}

.sidebar h2{
    color:var(--color1);
    font-size:1rem;
    font-family: "Press Start 2P", system-ui;
    padding:0 0 1rem 0;
    border-bottom:1px solid var(--color2);
    margin:1rem 0 1rem 0;
}
.sidebar ul{
    font-family: "Press Start 2P", system-ui;
}
.sidebar ul li a{
    line-height:3em!important;
}
.sidebar ul li:hover{
    border-bottom:1px solid var(--color1);
}
.sidebar ul li:hover span{
    color:var(--color1);
}
.sidebar ul li:hover a{
    padding:0;
    margin:0;
    color:var(--color2)
}

.credit{
  text-align:center;
}
.credit p{
  color:var(--color1);
  font-size:.9rem;
  line-height:3em;
  margin:0px;
}

@media (max-width:1920px){
  .sidebar h2{
    font-size:.8rem;
  }
  .sidebar ul li a{
    font-size:.7rem;
  }
}

@media (max-width:1200px){

.wrapper{
    width:95%;
}

.store-logo{
    height:4rem;
}
.magus-subtitle{
    font-size:.6rem;
    margin:0 0 1rem 0;
}

.flexwrap{
    flex-direction:column;
}

nav .menu{
    display:none;
}

h1.title{
    font-size:1rem;
    line-height:1.4em;
    text-align:center;
}

main.flexwrap section.products{
    padding:1rem;
}

ul.products li{
    flex-basis:100%;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
    font-size: .6rem;
    line-height: 1.6em;
  }

  .woocommerce ul.products[class*="columns-"] li.product, .woocommerce-page ul.products[class*="columns-"] li.product {
    width: 100%;
    border: 2px var(--color2) solid;
    padding: 1rem;
  }

  .credit p{
    line-height:1.4rem;
    padding:0 0 8rem 0;
  }

  .mobile-menu-icon{
    display:block;
    z-index:100;
    background:#000;
    border-top:1px #003300 solid;
  }
  nav .menu{
    display:none;
  }
  .nav-active{transform:translateY(0%)!important;opacity:1!important;position:fixed!important;z-index:100000;}
  nav ul li:hover .sub-menu, nav ul li:active .sub-menu{
    position:static;
    display:block;
  }
  nav ul li:hover .sub-menu li, nav ul li:active .sub-menu li{
    line-height:1.6rem;
    width:100%;
    margin:0;
  }
  .menu-active .line{display:none;}
  .menu-active .close{display:block;}

  nav .menu .sub-menu{
    display:block;
  }
  nav .menu .sub-menu li{
    border:0;
  }

  .mobile-menu-icon{
    border-top:2px var(--color1) solid;
  }
  .mobile-menu-icon .line, .close::before, .close::after{
    background-color:var(--color1)!important;
  }

}