*
{
    margin:0;
    padding:0;
}



body
{
    font-family:Arial, Helvetica, sans-serif;
    transition: background 0.5s;
}

::selection {
  background: #ff2198;
  color: #fff;
  text-shadow: none;
}


div.xoo-wl-popup
{
    display:none;
}

.orange-text
{
    
}

.pink-text
{
    
}


.orange-background
{
    
}

.pink-background
{
    
}



a, a:visited, a:active , a:focus
{
    /*color:#e83d99;*/
    color:#C71585;
    text-decoration:none;
    outline:none;
}



p
{
    font-family:Arial, Helvetica, sans-serif;
    margin-bottom: 20px;
    font-size: 16px;
    color:#333;
    line-height: 23px;
}


p a,
div.home-article-cards a
{
    text-decoration: underline !important;
    text-underline-offset: 3px; /* Keeps it looking clean and modern */
}



h1, h2, h3, h4, h5 ,h6
{
    font-family: Arial, Helvetica, sans-serif;
}


h1
{
    font-size:40px;
}

h2
{
    font-size:30px;
}

h3
{
    font-size:25px;
}

h4, h5, h6
{
    font-size:20px;
}


main.innerpage h1, main.innerpage h2, main.innerpage h3, main.innerpage h4, main.innerpage h5 , main.innerpage h6
{
    color:#333;
    margin-bottom: 20px;
    letter-spacing: 0px;
    display: block;
}

main.innerpage h1
{
    font-size: 27px;
    text-transform: uppercase;
}

main.innerpage h4, main.innerpage h5 , main.innerpage h6
{
    color:#333;
    font-size:18px;
    
}


.colour-header
{
    background-image: linear-gradient(113deg, #ff2198, #ff8839);
    color: transparent !important;
    background-clip: text;
}

main.innerpage h1.page-title,
body.page-template main.innerpage h1
{
    background-image: linear-gradient(113deg, #ff2198, #ff8839) !important;
    color: transparent !important;
    background-clip: text !important;
}

.rt-button
{
    display: inline-block;
    margin-top: 10px;
    padding: 10px 12px;
    font-weight: bold;
    color: #fff;
    background:#000;
    box-shadow: 4px 4px 0px #ff2198;
    border-radius: 0;
}

a.rt-button:visited
{
    color: #fff;
}


.pink-button
{
    background:#ff2198;
    color:#fff !important;
    padding: 5px 8px;
    text-align: center;
    border: solid 1px #000;
    border-radius: 2px;
}

.pink-button:hover
{
    background:#f880c0;
}

.white-button
{
    background:#fff;
    color:#e83d99 !important;
    padding: 5px 8px;
    text-align: center;
    border: solid 1px #000;
    border-radius: 2px;
}

ul.padded-list li
{
    padding:5px 0;
}


/* ============ BIG text headers ====================== */


div.big-header-bg
{
    width: 100%;
    /*background: #e83d99;*/
    background:#ff2198;
    clip-path: polygon(0% 10%, 100% 0%, 100% 90%, 0% 100%);
    height: 120vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}

div.big-header-wrap
{
    width:calc(100% - 40px);
    max-width:calc(1200px - 40px);
    margin: 0 auto;
    padding: 140px 20px;
}

h2.big-header
{
    font-size: 185px;
    color: #fff;
    font-style: italic;
    text-shadow: 1px 2px #b22773;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 40px);
    max-width: calc(1200px - 40px);
}

/* ============ End BIG text headers ====================== */


/* ================ Dark Theme Switch ==================== */

/* The switch - the box around the slider */
.switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 24px;
}

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #ff2198;
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
  -webkit-transform: translateX(16px);
  -ms-transform: translateX(16px);
  transform: translateX(16px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 10px;
}

span.dark-theme-switch-labels
{
    font-size:12px;
}

/* ================ End Dark Theme Switch ==================== */

/* ========== product headers ============== */

.orange-border
{
    border-top: solid 4px #ff8839;
}

.pink-border
{
    /*border-top: solid 4px #e83d99;*/
    border-top:solid 4px #ff2198;
}

div.header-text-wrap
{
    display:flex;
    align-items: center;
    gap: 40px;
    margin-top: 30px;
    margin-bottom: 82px;
    
    padding-top: 88px;
}

h2.header-text
{
    font-size:40px;
    line-height: 43px;
    color: #fff;
    rotate: -10deg;
    display: inline-block;
}

span.header-text-top
{
    background: #ff8839;
    padding: 3px 15px;
}

span.header-text-bottom
{
    /*background: #e83d99;*/
    background:#ff2198;
    margin-left: 40px;
    padding: 3px 15px;
}


/* ========== End product headers ============== */


/* ========== Age verification ============== */


div#verify-bg
{
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: #000000b0;
    z-index: 12;
    display:none;
}

div#verify-popup
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    width: calc(90% - 40px);
    max-width: 315px;
    text-align: center;
}


img#verify-logo
{
    width: 180px;
    max-width: 70%;
    height:auto;
    margin-bottom: 20px;
}


p#verify-title
{
    font-size: 24px;
    font-weight: bold;
}


p.verify-text
{
    line-height: 20px;
}

div#verify-buttons-wrapper
{
    margin-bottom: 10px;
}


div#verify-buttons-wrapper a
{
    padding: 5px 12px;
    border-radius: 2px;
}


a#verify-button-yes
{
    background:#e3047c;
    color: #fff;
    margin-right: 10px;
}


a#verify-button-no
{
    background: #000;
    color: #fff;
}



/* ========== End Age verification ============== */

/*=============== Cookie notice =================*/

div#cookie-notice
{
    position: fixed;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 10;
    background: #000000;
    display:none;
    border-top:solid 1px #999;
}

div#cookie-notice-wrap
{
    display:flex;
    flex-direction:row;
    justify-content: center;
    align-items: center;
    padding: 10px;
}

div#cookie-notice-text
{
    
}

div#cookie-notice-text p
{
    color:#fff;
    font-size: 14px;
    margin-bottom: 0;
}


div#cookie-notice-buttons-wrap
{
    width:max-content;
    display:flex;
    align-items: center;
    margin-left: 15px;
}

a.cookie-notice-buttons
{
    padding: 4px 8px;
    border-radius: 2px;
    width:max-content;
}

a#cookie-notice-agree
{
    background:#e3047c;
    color: #fff;
    margin-right: 10px;
}

a#cookie-notice-reject
{
    background: #515151;
    color: #fff;
}


/*=============== End Cookie notice =================*/


/*=============== Klarna =================*/

div.klarna-single-product-placement-wrap
{
    margin-bottom:20px;
}

div.klarna-shop-placement-wrap
{
    margin-bottom:10px;
}


div.klarna-basket-placement-wrap
{
    margin-bottom:20px;
}

/*=============== End Klarna =================*/

div#top-bar
{
    width:100%;
    background: #333;
}

div#top-bar-wrap
{
    width:calc(100% - 20px);
    max-width:calc(1200px - 20px);
    margin:0px auto;
    padding:0 10px;
    display: flex;
    justify-content: space-between;
    padding: 3px 0;
}

div#top-bar-wrap p
{
    margin:0;
    color:#fff;
    font-size: 14px;
}

div#top-bar-wrap a
{
    color:#fff;
    font-size: 14px;
    text-decoration:none !important;
}

header#site-header
{
    width:100%;
    background-image:url('images/header-bg.png');
    background-repeat: no-repeat;
    background-size: cover;
}

div#header-inner
{
    width: 100%;
    background-image: url(images/header-smoke.png);
    background-repeat: no-repeat;
    background-size: 105%;
    background-position: 50% 10%;
}

div#header-wrap
{
    width:calc(100% - 20px);
    max-width:calc(1200px - 20px);
    margin:0px auto;
    padding:10px;
    /*
    background-image:url('images/header-smoke.png');
    background-repeat: no-repeat;
    background-size: 105%;
    background-position: -33px -43px;
    */
}

img#header-logo
{
    width:185px;
    height: auto;
}


div#header-icons
{
    position: absolute;
    /*top: 65px;*/
    top: 78px;
    right: 10px;
    font-size: 35px;
    text-shadow: 2px 2px 0px #000;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

div#header-icons span.icon-wrap
{
    display: block;
    position: relative;
    margin-left: 15px;
}

div#header-icons span.account-icon
{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

div#header-icons span.account-icon div#loggedin-user-wrap
{
    background: #ff2198;
    padding: 3px 6px;
    display: flex;
    align-items: center;
}

div#header-icons span.account-icon div#loggedin-user-wrap p
{
    margin-bottom: 0px;
}

div#header-icons span.account-icon div#loggedin-user-wrap p a
{
    text-shadow: 1px 1px 1px #000;
}

div#header-icons span.account-icon div#loggedin-user-drop
{
    position: absolute;
    top: 40px;
    right: 0;
    background: #fff;
    width: max-content;
    text-shadow: none;
    display: none;
    flex-direction: column;
    gap: 10px;
    padding: 15px 40px 15px 10px;
    border: solid 1px #ccc;
    z-index: 20;
}

div#header-icons span.account-icon div#loggedin-user-drop a
{
    color:#e83d99;
    font-size:16px;
}


div#header-icons span.account-icon:hover > div#loggedin-user-drop
{
    display:flex;
}


div#header-icons span.search-icon div#desk-top-search-wrap
{
    position:absolute;
    top: -2px;
    right: 55px;
    padding: 6px 10px;
    background: #fff;
    border-radius: 3px;
    display:none;
    width: 35vw;
    
}

div#header-icons span.search-icon div#desk-top-search-wrap div
{   width:100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

div#header-icons span.search-icon div#desk-top-search-wrap div form
{
    flex-grow: 1;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

div#header-icons span.search-icon div#desk-top-search-wrap div form input
{
    position: relative;
    width: 100%;
    font-size: 16px;
    padding: 3px 8px;
    border-top: solid 1px #999;
    border-left: solid 1px #999;
    border-right: none;
    border-bottom: solid 1px #999;
    border-radius: 2px 0 0 2px;
    outline: none;
}

div#header-icons span.search-icon div#desk-top-search-wrap div form button
{
    background: #e83d99;
    color: #fff;
    padding: 4px 8px;
    border: none;
    border-radius: 0 2px 2px 0;
}

div#header-icons span.icon-wrap a,
div#header-icons span.icon-wrap button
{
    color:#fff;
}

button#search-magnifier
{
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer;
    outline: none;
    box-shadow: none !important;
    
    /* Ensures the FontAwesome icon inside handles the sizing */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    
    font-size: 34px;
    text-shadow: 2px 2px 0px #000;
}

div#mobile-basket-wrap
{
    display:none;
}


div#header-icons span.basket-icon span.notif-bubble
{
    position: absolute;
    margin-top: -4px;
    margin-left: -17px;
    font-size: 12px;
    background: red;
    padding: 3px 6px;
    color: #fff;
    text-shadow: 1px 1px 1px #000;
    border-radius: 8px;
}

div#header-icons span.basket-icon div#cart-drop
{
    position:absolute;
    position: absolute;
    background: #fff;
    border: solid 1px #ccc;
    right: 0;
    display: none;
    flex-direction: column;
    padding: 10px;
    width:max-content;
    max-height: 200px;
    overflow-y: auto;
    overflow-x:hidden;
    text-shadow:none;
    font-size: 16px;
    border-radius: 2px;
    width:250px;
    z-index:20;
}

div#header-icons span.basket-icon:hover > div#cart-drop
{
    display: flex;
}

div#header-icons span.basket-icon div#cart-drop a
{
    color:#333;
    font-size:16px;
    text-shadow:none;
}


div#header-icons span.basket-icon div#cart-drop span#header-basket-title
{
    text-align:center;
}

div#header-icons span.basket-icon div#cart-drop div.header-cart-line-wrap
{
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    border-bottom: solid 1px #ccc;
    padding-bottom: 10px;
}

div#header-icons span.basket-icon div#cart-drop div.header-cart-line-wrap:last-child
{
    border-bottom:none;
}

div#header-icons span.basket-icon div#cart-drop div.header-cart-line-wrap div.header-cart-line-item
{
    flex-grow:1;
}


div#header-icons span.basket-icon div#cart-drop div.header-cart-line-wrap div.header-cart-line-title-item
{
    width:70%;
}


div#header-icons span.basket-icon div#cart-drop div.header-cart-line-wrap div.header-cart-line-title-item-qty
{
    width:30%;
    text-align:right;
}

div#header-icons span.basket-icon div#cart-drop div.header-cart-line-wrap div.header-cart-line-item
{
    width:70%;
}

div#header-icons span.basket-icon div#cart-drop div.header-cart-line-wrap div.header-cart-line-item a.header-cart-item.item-title
{
    font-size:14px;
}

div#header-icons span.basket-icon div#cart-drop div.header-cart-line-wrap div.header-cart-line-qty
{
    width:30%;
    text-align:right;
}

div#header-icons span.basket-icon div#cart-drop div#header-cart-totals
{
    text-align:right;
}

div#header-icons span.basket-icon div#cart-drop div#header-cart-totals p
{
    color:#666;
}

div#header-icons span.basket-icon div#cart-drop div#header-cart-totals span
{
    font-size:25px;
    color:#333;
}


div#header-icons span.basket-icon div#cart-drop div#header-cart-buttons
{
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    gap: 10px;
    justify-content: space-between;
    
}

div#header-icons span.basket-icon div#cart-drop div#header-cart-buttons a
{
    flex-grow:1;
}

div#header-icons span.icon-wrap i.fa-magnifying-glass
{
    transform: scaleX(-1);
}

div#header-icons span.icon-wrap i
{
    width:42px;
    height:34px;
}

a.header-checkout-button
{
    background: #000;
    color: #fff !important;
    padding: 5px 8px;
    text-align: center;
    border: solid 1px #000;
    border-radius: 2px;
}


/* ===========  Vape Points ========== */

div.vp-button-wrap 
{
    position:absolute;
    top:0;
    right:10px;
    filter: drop-shadow(0px 1px 3px #000);
}

div.vp-button-wrap p
{
    background: #fff;
    padding: 10px;
    border-radius: 0 0 3px 3px;
    clip-path: polygon(4% 0%, 100% 0%, 103% 100%, 0% 100%);
    font-style: italic;
}

div#main-menu
{
    position: sticky;
    top: 0px;
    width:100%;
    background: linear-gradient(to top, #000, #000 10%, #333 61%, #333);
    /*border-top:solid 2px #d69100;*/
    /*border-bottom:solid 2px #d69100;*/
    /*overflow-y:hidden;*/
    z-index:10;
}

div#main-menu div#main-menu-wrap
{
    width:calc(100% - 20px);
    max-width:calc(1200px - 20px);
    margin:0 auto;
}

div#main-menu div#main-menu-wrap i
{
    width:37px;
    height:30px;
}

i#menu-icon /* Mobile menu icon */
{
    display:none;
}

a#mobile-menu-close, a#mobile-menu-btn, div#mobile-menu-buttons
{
    display:none;
}

div#mobile-menu-wrapper
{
    background: #000;
    color: #fff;
    position: absolute;
    top: 50px;
    display:none;
    width: 65%;
    height: 100%;
    z-index: 10;
    transition: all 0.2s ease;
}




div#main-menu img#sticky-menu-logo
{
    /*display:none;*/
    position: absolute;
    width: 63px;
    top: -50px;
    left: 15px;
    opacity:0;
    transition: all 0.2s ease;
}

div#main-menu img#sticky-menu-logo.show-sticky-logo
{
    /*display:block;*/
    top: 2px;
    opacity:1;
}


nav#site-menu
{
    position: relative;
    width:100%;
    margin:0px auto;
    z-index: 10;
    transition: all 0.3s ease;
}

nav#site-menu.sticky-menu
{
    padding-left: 80px;
    width: calc(100% - 80px);
}

nav#site-menu ul
{
    display:flex;
    flex-direction:row;
    justify-content: space-between;
}

nav#site-menu ul li
{
    flex-grow:1;
}

nav#site-menu ul li.menu-item-64 a:before
{
    /*position: absolute;
    top: -2px;
    left: 16px;*/
    margin-right: 10px;
    font-size: 20px !important;
    font: var(--fa-font-regular);
    content: '\f015';
    line-height: 45px;
}

nav#site-menu ul a, nav#site-menu ul a:visited
{
    text-decoration:none;
    font-size: 17px;
    line-height: 45px;
    color:#fff;
    padding:0 10px;
    display:block;
    text-align: center;
}

nav#site-menu ul li.menu-item-home a, nav#site-menu ul li.menu-item-home a:visited
{
    line-height: 42px;
}


nav#site-menu ul li:not(.current-menu-item):not(.current-menu-parent) a:hover
{
    background:#000;
}


nav#site-menu ul li.current-menu-parent > a, nav#site-menu ul li.current-menu-item > a
{
    clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
    /*background:#e83d99;*/
    background:#ff2198;
}




nav#site-menu ul li.current-menu-item, nav#site-menu ul li.current-menu-parent
{
    filter: drop-shadow(1px 0px 2px #000);
}

nav#site-menu ul li ul.sub-menu
{
    display:none;
    position:absolute;
    flex-direction: column;
    background:#000;
    width: calc(100% + 50px);
    left: -50px;
}

nav#site-menu ul li:hover > ul.sub-menu
{
    display:flex;
}

nav#site-menu ul li ul.sub-menu li
{
    border-bottom:solid 1px #333;
}

nav#site-menu ul li ul.sub-menu li
{
    filter:none;
}

nav#site-menu ul li ul.sub-menu li.current-menu-item, nav#site-menu ul li ul.sub-menu li.current-menu-parent
{
    filter:none;
}

nav#site-menu ul li ul.sub-menu li.current-menu-item a
{
    margin:0;
    clip-path: none;
}

nav#site-menu ul li ul.sub-menu li a
{
    clip-path: none;
}

nav#site-menu ul li ul.sub-menu li.current-menu-item a:hover
{
    
}

nav#site-menu ul li ul.sub-menu li:last-child
{
    border-bottom:none;
}

nav#site-menu ul li ul.sub-menu li a
{
    line-height:20px !important;
    text-align:left;
    background:transparent;
    font-size: 15px;
    padding-top:10px;
    padding-bottom:10px;
}

nav#site-menu ul li ul.sub-menu li a:hover
{
    background:#333 !important;
    clip-path:none;
    margin:0;
}


hero
{
    width:100%;
    display:block;
    background: #000;
    padding: 0;
}

div#hero-wrap
{
    width:calc(100% - 20px);
    max-width:1200px;
    height:calc(80vh - 190px);
    margin:0px auto;
}

div#hero-wrap video
{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

div.hero-text-wrap
{
    width:calc(100% - 126px);
    max-width:500px;
    position:absolute;
    z-index:2;
    background:#000000b3;
    top:0;
    left:0;
    padding:30px;
    margin:30px;
    border:solid 3px #000;
    border-radius: 3px;
}

div.hero-text-wrap h1
{
    color:#fff;
    margin-bottom: 10px;
}

div.hero-text-wrap p
{
    color:#ccc;
    margin-bottom: 15px;
    font-size: 18px;
}

div.hero-text-wrap a#hero-button
{
    display:inline-block;
    background:#e3047c;
    color: #fff;
    padding: 12px 24px;
    font-weight: bold;
    border-radius:2px;
}

section#home-more-info
{
    padding: 0px 20px 40px 20px; 
    background-color: #000; 
    color: #fff; 
    text-align: center;
}

section#home-more-info h2
{
    margin-bottom: 30px;
}

section#home-more-info p
{
    font-size: 18px;
    line-height: 29px;
}


section#home-more-info div#home-info-btn-wrap a
{
    display: inline-block; 
    margin: 10px; 
    padding: 12px 24px; 
    color: #fff; 
    font-weight: bold; 
    text-decoration: none;
    transition: 0.3s;
    border-radius: 2px;
}

section#home-more-info div#home-info-btn-wrap a.compare-btn
{
    border: 2px solid #fff; 
}

section#home-more-info div#home-info-btn-wrap a.kits-btn
{
    background:#e3047c;
    border: 2px solid #ff2198; 
}



div.home-review-cards
{
    background-color: #f9f9f9; 
    border: 1px solid #e0e0e0; 
    border-left: 5px 
    solid #ff8839; 
    padding: 20px; 
    margin: 25px 0; 
    border-radius: 6px;
}

h4.home-review-card-titles
{
    margin-top: 0; color: #222; font-size: 1.15em;
}



main
{
    width:calc(100% - 20px);
    max-width:calc(1200px - 20px);
    margin:30px auto 0px auto;
    padding:10px;
}

main.innerpage
{
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    gap:30px;
    margin-top:10px;
}

content
{
    width:75%;
    margin-bottom: 30px;
}

content ul
{
    margin-left:30px;
    margin-bottom:30px;
}

content ol
{
    margin-left:50px;
    margin-bottom:30px;
}

content ul li, content ol li
{
    margin-bottom:10px;
    line-height:21px;
}

content ul li ul, content ol li ol
{
    margin-top:30px;
}

content ol li
{
    list-style: decimal;
}

content #comments ol li
{
    list-style: none;
}


main.archive-page content ul, main.article-category content ol
{
    margin-left:0;
}

main.archive-page content ol li, main.article-category content ol li, main.archive content ol li
{
    list-style: none;
    margin-bottom:20px;
}

main.archive-page content h2, main.article-category content h2
{
    display:block;
    margin-bottom:10px;
}



div.article-body
{
    margin-top:10px;
}

article time
{
    color:#666;
    font-size:14px;
    letter-spacing:1px;
    display: inline-block;
    margin-bottom: 10px;
}

ul.competitor-article-links li
{
    list-style: disc;
}

sidebar
{
    width:25%;
    min-width: 250px;
}


div.side-content-wrap
{
    width: calc(100% - 20px);
    border-radius: 2px;
    padding: 10px;
}

div.side-content-wrap.top-banner
{
    padding-top: 0;
}

div.side-content-wrap img#sidebar-free-shipping
{
    width:100%;
    max-width:350px;
    border-radius:2px;
}

div#auth-sidebar-wrap
{
    padding:10px;
}

div#auth-sidebar-inner
{
    background: #000;
    background-image: url(images/sidebar-widget-bg-smoke-2.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 15px;
    
    min-height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    border-radius: 3px;
}

div#auth-sidebar-inner h3
{
    color:#ff2198;
}

div#auth-sidebar-inner p
{
    color:#fff;
    letter-spacing: 0.3px;
}

div#auth-sidebar-inner a#sidebar-verify-btn
{
    background: #ff2198; 
    color: #fff; 
    padding: 7px 7px; 
    border-radius: 4px; 
    display: block; 
    margin: 0 auto; 
    text-align: center;
    width: stretch;
}

div.weather-widget
{
    background:#f30a87;
    border-radius:2px;
}

a.weatherwidget-io
{
    background-image: url(https://rippingterps.co.uk/wp-content/themes/rippin-terps/images/sidebar-widget-bg-smoke-2.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position-x: center;
    background-position-y: 100%;
}

div.weather-widget p
{
    color:#ffffff;
    margin-bottom:8px;
    font-size:14px;
    line-height: 19px;
}

div#weather-text-wrap
{
    padding: 10px;
    background:#00000038;
}

div.weather-widget p#weather-widget-title
{
    font-size:14px;
    font-weight:bold;
    text-shadow: 1px 1px 8px #333;
    letter-spacing: 0.3px;
}

div.weather-widget p#weather-widget-text
{
    letter-spacing: 0.3px;
}


div.side-content-wrap > div,
div.side-content-wrap > span,
div.side-content-wrap ul.product_list_widget
{
    border-top: solid 1px #ff2198;
    padding-top: 10px;
}

div.side-content-wrap > span
{
    display:block;
    padding-top: 0px;
}

div.side-content-wrap > div
{
    border-radius:3px;
    overflow:hidden;
}


div.side-content-wrap > div, div.side-content-wrap ul.product_list_widget li
{
    width:100%;
    padding: 0;
    margin: 0;
    list-style: none;
}

div.side-content-wrap > div iframe
{
    width:100%;
}

div.side-content-wrap ul.product_list_widget li img 
{
    float: right;
    margin-left: 4px;
    width: 32px;
    height: auto;
    box-shadow: none;
}

div.side-content-wrap ul.product_list_widget li a
{
    color:#666;
    font-size: 14px;
    display: block;
    font-weight: 700;
}

div.side-content-wrap ul.product_list_widget li span.woocommerce-Price-amount, div.side-content-wrap ul.product_list_widget li span.from
{
    font-size: 15px;
}


div.side-content-wrap ul.product_list_widget li div.star-rating
{
    font-size: 12px;
    margin: 2px 0px;
}


main.innerpage sidebar h3
{
    background: transparent;
    padding: 0px 0 6px 0;
    font-size: 18px;
    background-image: linear-gradient(113deg, #ff2198, #ff8839);
    color: transparent;
    background-clip: text;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 0;

}

main.innerpage sidebar > div
{
    margin-bottom:20px;
}

main.innerpage sidebar div p:last-child
{
    margin-bottom:0;
}

/* FB Page - RT */


div#facebook-widget-wrap
{
    width:100%;
    padding-bottom: 2px;
    background: #efefef;
}

a#fb-widget-link
{
    display:block;
}

div#facebook-widget
{
    width:100%;
}

img#fb-widget-cover
{
    width: 100%;
    object-fit: cover;
    max-height: 125px;
}

div#fb-info-wrap
{
    position: absolute;
    width: calc(100% - 16px);
    display: flex;
    padding: 8px;
    box-shadow: inset 0px 80px 26px -40px #333;
    z-index: 5;
}

div#fb-icon
{
    margin-right: 5px;
}

div#fb-icon img
{
    width:50px;
}

div#fb-info a
{
    color:#fff;
}

span#fb-name
{
    display: inline-block;
    font-size: 18px;
    color:#fff;
    margin-top: 5px;
}

span#fb-follower-count
{
    font-size: 13px;
    color:#fff;
    text-shadow: 1px 1px 8px #000;
}

div#like-page-box
{
    position: absolute;
    bottom: 5px;
    left: 5px;
    background: #efefef;
    padding: 2px 5px;
    display:flex;
    align-items: center;
    z-index:5;
}

div#like-page-box img
{
    width: 15px;
    height: 15px;
    margin-right: 5px;
}

span#like-page-text
{
    font-size: 14px;
    color: #666;
}

div#fb-widget-textarea
{
    width: calc(100% - 30px);
    background: #fff;
    margin: 8px auto;
    padding: 5px;
    border-radius: 2px;
    height: 50px;
}

div#fb-widget-textarea span
{
    font-size: 13px;
    letter-spacing: 0.5px;
    color: #666;
}

/* FB Group */

iframe#fb-page-widget
{
    margin-top:15px;
}


div#facebook-group-wrap
{
    width: 100%;
    height: 120px;
    margin-top:15px;
}

img#facebook-group-banner
{
    object-fit: cover;
    width: 100%;
    height: 100%;
}

span.fb-group-details
{
    position:absolute;
    color:#fff;
    text-shadow: 1px 1px 4px #000;
    z-index:2;
}

span#fb-group-title
{
    top: 5px;
    left: 5px;
    font-size: 18px;
}

span#fb-group-members
{
    bottom: 5px;
    left: 5px;
}

span#fb-group-button
{
    bottom: 5px;
    right: 5px;
    background: #efefef;
    padding: 2px 6px;
    border-radius: 2px;
    color: #333;
    text-shadow: none;
    font-size: 14px;
    font-weight: bold;
    border: solid 1px #333;
}

/*  End FB group*/

div.sidebar-returns-widget
{
    background: #1a1a1a;
    color: #fff;
    text-align: center;
    border-bottom: 4px solid #ff2198;
}

div.sidebar-returns-wrap
{
    padding: 25px 20px;
}

div.sidebar-returns-wrap h4
{
    color: #ff2198;
    margin-top: 0;
    text-transform: uppercase;
    font-size: 16px;
    letter-spacing: 1px;
}

div.sidebar-returns-wrap p
{
 color:#fff;
}

div.sidebar-returns-wrap a
{
    display: block;
    background: #ff2198;
    color: #fff;
    padding: 12px;
    text-decoration: none;
    font-weight: bold;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
}


/* ============ Home cats =================== */

div#home-cats-outer-wrap
{
    background: #000;
    clip-path: polygon(0% 0%, 100% 0%, 100% 90%, 0% 100%);
    padding: 10px 0 80px 0;
}

div#home-cat-wrap
{
    width:100%;
    display:flex;
    justify-content: space-around;
    margin-top: 50px;
    margin-bottom: 75px;
    gap:20px;
}

div#cats-title-wrap
{
    width:100%;
    background:#ff2198;
    margin-bottom:30px;
}

h3#cats-title
{
    font-size: 10vw;
    font-size: 134px;
    color: #fff;
    font-style: italic;
    padding: 30px 0;
    margin-top: 15px;
    width: 90%;
    margin: 15px auto 0px auto;
    border-bottom: solid 1px #ff2198;
}

div#home-cats-outer-wrap main
{
    margin-top:0px;
}

div#home-cats-outer-wrap main p
{
    margin-bottom:30px;
    color: #ccc;
}

div#cat-description
{
    margin-top: 15px;
    margin-bottom: 40px;
}

div.home-cat-boxes
{
    width: 350px;
    border: solid 1px #000;
    box-shadow: 0px 1px 4px #333;
    border-radius: 3px;
    border:solid 1px #fff;
}

div.home-cat-boxes img
{
    width: 100%;
    height:auto;
}

/* ============ End home cats =================== */


/* ================= Home top fist ========================== */

div#home-banner-outer
{
    width:100%;
    background: #ffbe20de;
    margin-top:30px;
    clip-path: polygon(0% 10%, 100% 0%, 100% 90%, 0% 100%);
}

div#home-banner-outer-2
{
    width: 100%;
    max-width: 1200px;
    padding: 30px 0;
    margin: 0 auto;
    overflow: hidden;
    border-right: solid 4px #ff2198;
}

div#home-banner
{
    width:calc(100% - 20px);
    max-width:calc(1200px - 20px);
    margin:0px auto;
    display:flex;
    flex-direction:row-reverse;
    justify-content:space-between;
    align-items: center;
    padding: 60px 0;
}

div#home-banner-img-wrap
{
    width:60%;
    height: max-content;
    flex-grow:1;
}

img#fist-with-vape
{
    position:absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    opacity: 0.7;
}

div#home-banner-text
{
    width: 50%;
    flex-grow:1;
    padding-top: 50px;
}

div#home-banner-text h1
{
    font-size:4vw;
    margin-bottom: 20px;
    color: #fff;
    text-shadow: 0px 1px 1px #000;
}


/* ===================== End ================================== */

/* ====================== Home reviews \ article content cards ==================== */

div.header-desc
{
    
}

div.header-desc p
{
    font-size:17px;
    font-weight:bold;
}


div.home-products-wrap
{
    margin-bottom:100px;
}


div#home-customer-reviews
{
    margin-bottom:10px;
}

div#home-website-summary
{
    width:100%;
    margin-top:100px;
}

div#home-website-summary h2
{
    font-size: 1.6rem; 
    margin-top: 90px; 
    margin-bottom: 15px; 
    color:#ff2198;
    text-align: center;
}

div#home-website-summary-wrap
{
    max-width: 1200px; 
    margin: 0 auto;
}

div#home-website-summary-wrap p.website-summary-text
{
    line-height: 1.7; 
    margin-bottom: 0px;
}

div#home-website-summary-wrap hr
{
    border: 0; 
    border-top: solid 4px #ebebeb; 
    margin-bottom: 40px;
    margin-bottom: 75px;
}

div#home-website-summary-wrap h3
{
    font-size: 1.6rem; 
    text-align: center; 
    margin-bottom: 10px;
    color:#444;
}

div#home-website-summary-wrap p.home-learning-base-text
{
    text-align: center; 
    margin-bottom: 35px; 
    font-size: 0.95rem;
}

            


.rt-learning-grid
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center; /* This floats the bottom 2 cards perfectly in the middle */
    gap: 25px; 
    text-align: left;
}

/* Keep your card styling exactly as it is, just ensure they have a flexible basis */
.rt-learning-grid div.home-article-cards
{
    flex: 1;
    min-width: 280px;
    max-width: calc(33.33% - 17px); /* Keeps them sized exactly like a 3-column grid on desktop */
    border: 1px solid #ccc; 
    padding: 20px; 
    background: #f9f9f9;
    box-sizing: border-box;
    border-radius: 3px;
}

.rt-learning-grid div.home-article-cards h4
{
    margin-top: 0; 
    font-size: 1.2rem; 
    color: #333;
    margin-bottom: 5px;
}

.rt-learning-grid div.home-article-cards p
{
    color: #333; 
    font-size: 0.9rem; 
    min-height: 60px; 
    line-height: 1.5;
}

.rt-learning-grid div.home-article-cards a
{
    color: #C71585; 
    font-weight: bold; 
    font-size: 0.9rem;
}

/* ================  End Home article content cards ====================*/


/* ================= Home bottom fist ========================== */

div#home-fist-outer
{
    width:100%;
    background: #efefef;
    margin-top:30px;
    padding: 30px 0;
    clip-path: polygon(0% 10%, 100% 0%, 100% 100%, 0% 100%);
}

div#home-fist
{
    width:calc(100% - 20px);
    max-width:calc(1200px - 20px);
    margin:0px auto;
    
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    padding: 60px 0;
}

img#pink-fist
{
    flex-grow:1;
}

div#fist-text
{
    flex-grow:2;
    padding-top: 50px;
}

div#fist-text h3
{
    font-size:4vw;
    margin-bottom: 20px;
    color:#ff2198;
}



/* ================= End home bottom fist ========================== */


article
{
    width:100%;
}

article h2
{
    font-size:23px;
}

main.innerpage article h3, main.innerpage article h4
{
    font-size: 17px;
    color: #333;
}

main.archive-page article, main.article-category article
{
    padding: 10px;
    border-radius: 2px;
}

main.archive-page ol li, main.article-category ol li
{
    border-bottom:solid 1px #ff8839;
}

main.archive-page ol li:last-child, main.article-category ol li:last-child
{
    border-bottom:none;
}


main.archive-page content h2, main.article-category content h2
{
    margin-bottom:20px;
}

main.archive-page content > h2, main.article-category content > h2
{
    margin-top:20px;
}


main.archive-page content ol li article h2, main.article-category content ol li article h2
{
    line-height:30px;
}



a#long-description
{
    display: inline-block;
}


table.content-tables
{
    margin-bottom: 30px;
}


table.content-tables tr td, table.content-tables tr th
{
    border: solid 1px #000;
    padding: 10px 8px;
}

table.content-tables tr th
{
    text-align:left;
}

table.content-tables tr td
{
    
}

table.content-tables tr td:first-child
{
    font-weight:bold;
}


div.commercial-link
{
    width: 90%;
    margin: 40px auto;
    background-color: #111; 
    color: #fff; 
    padding: 20px; 
    border-radius: 4px;
}

main.innerpage article div.commercial-link h4
{
    margin-top: 0; 
    margin-bottom: 10px;
    color: #fff;
}

div.commercial-link p
{
    color: #fff;
}

div.commercial-link p:last-child
{
    margin-bottom:0;
}

div.commercial-link a
{
    font-weight:bold;
}

ul.content-sub-list
{
    margin-top:20px;
}


nav.woocommerce-breadcrumb
{
    margin-bottom:10px;
    color:#666;
    font-size: 15px;
}

.woocommerce nav.woocommerce-breadcrumb a
{
    color:#ff2198;
}


body.single-product nav.woocommerce-breadcrumb
{
    margin-bottom:30px;
}


/* ================= Account Page ======================*/


.woocommerce table.my_account_orders .button
{
    padding: 6px;
    margin: 5px 5px 5px 0;
}

.woocommerce table.my_account_orders span.woocommerce-Price-amount
{
    font-size:15px;
}


div.rt-notice
{
    padding: 20px; 
    margin: 30px 0;
    border-left: 4px solid #ff2198; 
    background: #f9f9f9;
}

div.rt-notice p:last-child
{
    margin:0;
}

.rt-notice-title
{
    display:inline-block;
    margin-bottom:10px;
}

div.returns-portal-wrap
{
    margin-top: 30px; 
    text-align: center; 
    border: 1px dashed #ccc;
    padding: 30px; color: #fff;
}

div.account-returns-wrap h4
{
    text-transform: uppercase; 
    color: #333; 
    margin-top: 20px;
}


/* Support */
.fs_client_portal .fs_ticket_wrapper .fs_tickets_container
{
    overflow:hidden;
}


/* ================= end Account Page ======================*/



/* ================= Learning Base Home ============================= */

div#learning-home-wrap
{
    width:100%;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:20px;
}

div.learning-home-sections
{
    width:calc(50% - 32px);
    padding:10px;
    border:solid 1px #ccc;
    border-radius:3px;
}


div.learning-home-sections h2
{
    font-size: 20px;
    color: #333;
    margin-bottom: 5px;
}

div.learning-home-sections p
{
    margin-bottom:10px;
    font-size: 15px;
}

div.learning-home-sections ul
{
    margin-left:15px;
    margin-bottom:10px;
}


div.learning-home-sections ul li
{
    margin-bottom:11px;
    line-height:18px;
}

div.learning-home-sections a
{
    font-size: 15px;
}


 h2.ranges-explained-titles
 {
     font-size:24px;
 }


/* ================= End Learning Base Home ============================= */

/* ================= Archive / category pages ======================== */

main.innerpage h2.learning-base-title
{
    color:#333;
}

/* ================= end Archive / category pages ======================== */

/* ================= Blog pages ======================== */

main.single-post h1
{
    color:#333;
    font-size: 27px;
}

main.single-post h2
{
    display:block;
    margin-top: 10px;
    margin-bottom:10px;
    color:#333;
}

div.article-body
{
    margin-top:10px;
}

main.single-post div#comments
{
    display:none;
}


/* ================= End Blog pages ======================== */



/* =================== WooCommerce ========================== */





.woocommerce button.woocommerce-button, .woocommerce button.woocommerce-Button
{
    background:#e83d99 !important;
    color:#fff !important;
    border: solid 1px #000;
}

.woocommerce button.woocommerce-button:hover, .woocommerce button.woocommerce-Button:hover
{
    background:#f880c0;
    color:#fff;
}


.woocommerce span.onsale 
{
    background: #fff;
    color:#ff2198;
    border:solid 1px #ff2198;
    left:-8px;
    right:auto;
    margin:0;
}

.woocommerce div.product p.price del, .woocommerce div.product span.price del
{
    opacity:1;
    color: #000;
}



/* =======Product cataloge page ============= */

.woocommerce .woocommerce-ordering
{
    margin-right: 1%;
}

.woocommerce .woocommerce-ordering select
{
    padding:5px 8px;
}

.woocommerce ul.products, .woocommerce-page ul.products
{
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.woocommerce ul.products::before, .woocommerce-page ul.products::before
{
    display:none;
}

.woocommerce ul.products li, .woocommerce-page ul.products li
{
    /*width: calc(25% - 24px) !important;*/
    width: calc(33% - 22px) !important;
    padding: 5px !important;
    margin:0 !important;
    border: solid 1px #ebebeb;
    box-shadow: 0px 1px 2px #ccc;
    overflow:hidden;
    
    transition: background 0.5s;
}

main.home .woocommerce ul.products li, main.home .woocommerce-page ul.products li
{
    width: calc(25% - 24px) !important;
}


.woocommerce ul.products li.product span.onsale 
{
    left:0;
    right:auto;
    margin:0;
}

.woocommerce ul.products li.product .price ins
{
    background: #ff9;
    padding: 1px 8px;
    border-radius: 2px;
}



.product-loop-label {
  margin: 0;
  padding: 0;
  background: rebeccapurple;
  color:white;
  padding:10px 0;
  position: absolute;
  top:0;
  right:0;
  transform: translateX(30%) translateY(0%) rotate(45deg);
  transform-origin: top left;
  z-index: 5;
}
.product-loop-label:before,
.product-loop-label:after {
  content: '';
  position: absolute;
  top:0;
  margin: 0 -1px; /* tweak */
  width: 100%;
  height: 100%;
  background: rebeccapurple;
}
.product-loop-label:before {
  right:100%;
}

.product-loop-label:after {
  left:100%;
}


div.product-loop-badges
{
    position: absolute;
    top: 8px;
    right: 5px;
    display: flex;
    flex-direction: column;
    align-items: end;
}

div.product-loop-badge
{
    background: #d61d80;
    color: #fff;
    margin-bottom: 5px;
    padding: 2px 4px;
    width: max-content;
    border-radius: 2px;
    font-size: 12px;
}


.sold-out-badge 
{
    padding: 6px 10px;
    text-align: center;
    background: #222;
    color: white;
    font-weight: bold;
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 12px;
    border-radius: 2px;
    z-index:5;
}

.sold-out-badge.product
{
    top: 6px;
    right: 6px;
    font-size: 14px;
}


/* pre-order badge */

.rt-image-preorder-badge {
    position: absolute;
    top: 15px;      /* Distance from the top of the image */
    left: 15px;     /* Distance from the left of the image */
    background: #ff2198; /* RT Pink */
    color: #fff;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    z-index: 5;    /* Ensure it sits above the image and link */
    letter-spacing: 1px;
    border: 1px solid #000;
    pointer-events: none; /* Allows the click to pass through to the product link */
    box-shadow: 3px 3px 0px #000; /* Hardware-style shadow */
}


.woocommerce ul.products li.product a.woocommerce-loop-product__link
{
    height:100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;  
}

.woocommerce ul.products li > a, .woocommerce-page ul.products li > a
{

}

.woocommerce ul.products li a.add_to_cart_button, .woocommerce-page ul.products li a.add_to_cart_button
{
    display:none !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title
{
    flex-grow:1;
    padding: 0 0 .5em 0;
}

div.loop-reviews-wrap
{
    display:flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    margin-top: -30px;
    background: #fff;
    padding: 5px 8px;
    border-radius: 2px;
}



.woocommerce ul.products li.product .star-rating
{
    margin:0 auto 0 auto;
    /*flex-grow:1;*/
}

.woocommerce ul.products li.product .price
{
    text-align:center;
    flex-grow:1;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: end;
    color: #333;
    
    display: flex;
    align-items: baseline;
}

.woocommerce ul.products li.product .price .from
{
    line-height: 14px;
    margin-right: 3px;
    color: #666;
    display:none; /* Hidden for just now, might unhide */
}

.woocommerce ul.products li.product .price del
{
    margin-right: 10px;
}

.woocommerce ul.products li.product .price .woocommerce-Price-amount
{
    /*color:#ff2198;*/
    color:#000;
    margin-left: 5px;
}

div.cat-description
{
    margin-top: 50px;
}

/* Hide Yith pre-order message on product list */
div.ywpo_availability_date.pre_order_loop-no-auto-format
{
    display:none;
}

/* ======================= Product page ========================== */

p.out-of-stock
{
    color: #fff !important;
    background: red;
    max-width: fit-content;
    padding: 5px;
    border-radius: 2px;
}


div#delayed-dispatch-notice
{
    padding: 14px;
    background: #ff2198d1;
    margin-bottom: 20px;
    border: dashed 2px #000;
    border-radius: 4px;
}

div#delayed-dispatch-notice p
{
    color: #fff;
    margin:0;
    font-size: 15px;
    line-height: 18px;
}

p#delayed-title
{
    margin-bottom:15px;
    text-transform: capitalize;
    font-size: 16px;
    font-weight:bold;
}

div p#immediate-dispatch-notice
{
    font-weight:bold;
    background: #efefef;
    padding: 10px;
    color: #000;
    border-radius: 2px;
}

div.woocommerce-variation
{
    margin-bottom:30px;
}

/* Pre-order */

span.preorder-full-price
{
    text-decoration: line-through;
}

div.rt-preorder-notice
{
    padding: 10px;
    margin-bottom: 20px;
    background: #000;
    border: solid 5px #ff2198;
    border-radius: 3px;
}

div.rt-preorder-notice p
{
    color: #ccc;
}

div.rt-preorder-notice p.preorder-title
{
    text-align:center;
    font-weight: bold;
    color: #ff2198;
    font-size: 18px;
    font-family:monospace;
}

div.rt-preorder-notice p.preorder-title span
{
    background: #fff;
    display: inline-block;
    padding: 5px 8px;
}

div.preorder-discount-wrap
{
    text-align:center;
}

p.preorder-discount
{
    display: inline-block;
    background: #000;
    color: #fff;
    padding: 5px 15px;
    border: dashed 1px #ccc;
    border-radius: 3px;
}

p.preorder-price-disclaimer
{
    font-size:14px;
    font-style:italic;
    font-weight:bold;
}

div.ywpo_availability_date
{
    margin-bottom:10px;
}

div.ywpo_availability_date p
{
    margin-bottom:5px;
}

.product-page-label 
{
    margin: 0;
    padding: 0;
    background: rebeccapurple;
    color:white;
    padding:1em 0;
    position: absolute;
    top:0;
    right:0;
    transform: translateX(30%) translateY(0%) rotate(45deg);
    transform-origin: top left;
    z-index: 5;
}
.product-page-label:before,
.product-page-label:after 
{
    content: '';
    position: absolute;
    top:0;
    margin: 0 -1px; /* tweak */
    width: 100%;
    height: 100%;
    background: rebeccapurple;
}
.product-page-label:before 
{
    right:100%;
}

.product-page-label:after 
{
    left:100%;
}

.woocommerce div.product div.images img
{
    border-radius:2px;
}


.woocommerce div.product div.images.woocommerce-product-gallery
{
    overflow:hidden;
}


.woocommerce ul.products li.product .woocommerce-loop-product__title
{
    color:#333;
}

.woocommerce div.product div.images .flex-control-thumbs li
{
    width:calc(25% - 8px);
    border: solid 1px #ccc;
    border-radius: 2px;
}

.pswp__ui
{
    height:100%;
}

.woocommerce div.product .woocommerce-product-rating
{
    margin-bottom: 15px;
}

span.woocommerce-Price-amount
{
    font-size:18px;
    color: #ff2198;
}

div.woocommerce-product-details__short-description
{
    margin-bottom:30px;
}

.woocommerce div.product form.cart .variations select
{
    padding:7px;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled:hover
{
    background:#ff2198;
}

.woocommerce ul.products li.product .button
{
    color: #fff;
    background: #ff2198;
    display:none;
}

.woocommerce div.product form.cart .button
{
    display: inline-block;
    padding: 10px 12px;
    font-weight: bold;
    color: #fff;
    background: #000;
    box-shadow: 4px 4px 0px #ff2198;
    border-radius: 0;
}

.woocommerce .quantity .qty
{
    padding:7px 0;
}

div.product p.price
{
    margin-top:15px;
    color: #333 !important;
    font-size: 14px !important;
    font-weight: bold;
}

span.woocommerce-Price-amount {
    font-size: 22px;
    font-weight:normal;
}



.woocommerce div.product .product_title
{
    font-size: 25px;
    color:#333;
    margin-bottom:0;
}

div.product_meta
{
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom:60px;
    font-weight: bold;
}

span.sku_wrapper
{
    display:none;
}




.woocommerce div.product .woocommerce-tabs ul.tabs li.active
{
    background:transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after
{
    display:none;
}

main.innerpage div.asnp-bundle-title h1
{
    color: #ff2198 !important;
}

.asnp-bundle-title:after, .asnp-bundle-title:before
{
    color: #ff2198;
}

.bundle-description
{
    background: #efefef;
    border-radius: 2px;
    box-shadow: none;
}

.asnp-totalPrice-section .woocommerce-Price-amount.amount
{
    color: #ff2198;
}

div.bundle_sells_title h3
{
    font-size:21px;

}

h3.option-extras-title
{
    display:block !important;
    font-size:21px;
    width: fit-content;
}

div.bundled_product_excerpt
{
    display:none;
}

div.product div.bundled_item_optional div.details h4
{
    font-size: 16px;
    width: 100%;
}

div.product div.bundled_item_optional div.details h4 span.bundled_product_title_inner
{
    display: inline-block;
    width: calc(100% - 30px);
    margin-bottom: 5px;
}

label.bundled_product_optional_checkbox
{
    display:flex;
    align-items: center;
    
    margin-top: 5px;
    font-size:15px;
}

label.bundled_product_optional_checkbox input.bundled_product_checkbox
{
    margin-bottom:0;
}


div.product div.bundled_item_optional div.details label.bundled_product_optional_checkbox span.price
{
    margin-left: 5px !important;
}

label.bundled_product_optional_checkbox span.price span.woocommerce-Price-amount
{
    font-size:15px;
}


/* Our process box */

.rt-product-process-box {
    border: 1px solid #f9dbe4;
    padding: 18px;
    border-radius: 2px;
    background-color: #fff6f8;
    margin: 25px 0 10px 0;
    box-sizing: border-box;
    clear: both; /* Ensures it clears any floated add-to-cart elements */
}

.rt-product-process-box h4 {
    margin-bottom: 5px !important;
    font-size: 15px !important;
    font-weight: bold;
    color: #2b0c16 !important;
}

.rt-product-process-box p {
    margin-bottom:0;
    font-size: 0.9rem;
    color: #5c434b;
    line-height: 1.45;
}

.rt-process-link-btn {
    display: inline-block;
    color: #111;
    font-weight: bold;
    font-size: 0.9rem;
    text-decoration: none !important;
}

.rt-process-link-btn:hover {
    color: #555;
}

/* Mobile Responsiveness */
@media (max-width: 480px) {
    .rt-product-process-box {
        padding: 15px;
    }
}

/* End Our process box */


/* Got a 3D Printer Box */


div.got-printer-notice
{
    background-color: #ffecec;
    border: 1px dashed #e25822;
    padding: 15px;
    margin: 40px 0;
    border-radius: 4px;
    text-align: center;
}

div.got-printer-notice p
{
    color:#7d0606;
    margin: 0;
}

div.got-printer-notice p:first-child
{
    margin-bottom:10px;
    font-weight:bold;
}

div.rt-3d-print-warning
{
    background-color: #fff8f6; 
    border: 1px solid #f2c7c0; 
    border-left: 4px solid #d9534f; 
    padding: 15px 20px; margin: 20px 0; 
    border-radius: 4px;
}

/* End got a 3D Printer Box */




div.product_meta a
{
    background: #000;
    color: #fff;
    padding: 5px 9px;
    margin: 3px 5px 3px 0;
    font-size: 12px;
    border-radius: 3px;
    display: inline-block;
}

.woocommerce div.product .woocommerce-tabs
{
    border-botto: solid 1px #efefef;
    margin-bottom: 40px;
    padding-bottom: 20px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs
{
    padding-left:0;
    border-bottom: solid 1px #efefef;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:first-child
{
    padding-left:0;
}



.woocommerce div.product .woocommerce-tabs ul.tabs::before
{
    display:none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li
{
    background-color:transparent;
    border:none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before
{
    display:none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active
{
    border-bottom:none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before
{
    display:none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after
{
    display:none;
}


.woocommerce div.product .woocommerce-tabs ul.tabs li.active a
{
    border-bottom:solid 3px #E83D99;
}


.woocommerce div.product .woocommerce-tabs ul.tabs li a
{
    line-height: 30px;
    padding: 10px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover
{
    border-bottom:solid 3px #E83D99;
}

.woocommerce div.product .woocommerce-tabs .panel
{
    padding-top:10px;
}

.woocommerce div.product .woocommerce-tabs .panel h2
{
    color:#333;
    font-size: 27px;
}

.woocommerce div.product .woocommerce-tabs .panel h3,
.woocommerce div.product .woocommerce-tabs .panel h4
{
    color:#333;
    font-size: 20px;
    margin-top: 50px;
}



/* product reviews */

.ivole-meter .ivole-meter-bar
{
    background:#ff2198;
}

h2.woocommerce-Reviews-title > span
{
    font-style:italic;
    color: #E83D99;
}

h2.woocommerce-Reviews-title > span::before, h2.woocommerce-Reviews-title > span::after
{
    content:'"';
}

.woocommerce #reviews #comments ol.commentlist li img.avatar
{
    display:none;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text
{
    margin:0;
}

.woocommerce .star-rating span
{
    /*color:#E83D99;*/
    color:#C71585;
}

.woocommerce .star-rating::before
{
    color: #E83D99;
}

.crstar-rating-svg .cr-rating-icon-frnt .cr-rating-icon
{
    fill:#ff2198;
}

strong.woocommerce-review__author
{
    color: #333;
    text-transform: capitalize;
}

div#review_form_wrapper
{
    padding: 11px 0 00 0;
}

span.comment-reply-title
{
    margin-bottom: 10px;
    display: inline-block;
    font-weight: bold;
    text-transform: uppercase;
}

div.comment-form-rating
{
    display: flex;
    justify-content: left;
    align-items: center;
    gap: 10px;
}

label#comment-form-rating-label
{
    margin-bottom: 10px;
    display: inline-block;
}

p.comment-form-comment textarea
{
    width: calc(100% - 20px);
    min-height: 140px;
    margin-top: 10px;
    padding: 10px;
}


section.related ul.products li, 
section.upsells ul.products li, 
section.up-sells ul.products li
{
    width:calc(25% - 26px) !important;
}

/*  Q&As on product page */

.cr-qna-block .cr-qna-search-block .cr-qna-ask-button
{
    background:#ff2198;
}

#reviews.cr-reviews-ajax-reviews .cr-qna-search-icon, 
.cr-all-reviews-shortcode .cr-qna-search-icon, 
.cr-qna-block .cr-qna-search-block .cr-qna-search-icon,
.cr-qna-block .cr-qna-list-block .cr-qna-list-q-cont .cr-qna-list-q-icon path
{
    fill:#ff2198;
}

.cr-qna-block .cr-qna-list-block .cr-qna-list-q-cont .cr-qna-list-q-q .cr-qna-list-q-q-r .cr-qna-list-q-author, 
.cr-qna-block .cr-qna-list-block .cr-qna-list-q-cont .cr-qna-list-q-a .cr-qna-list-q-a-r .cr-qna-list-q-author
{
    color: #999;
}

.cr-qna-list-answer .cr-qna-list-q-author
{
    color:#000 !important;
    padding-top:10px;
}

.cr-qna-block .cr-qna-list-block .cr-qna-list-q-cont .cr-qna-list-q-a .cr-qna-list-q-a-l svg g rect
{
    fill:#ff2198;
}

.cr-qna-block .cr-qna-list-block .cr-qna-list-q-cont .cr-qna-list-q-icon circle
{
     stroke:#ff2198;
}

div.cr-qna-list-q-a-l svg g path
{
    fill: #000 !important;
    stroke: #000;
}

.cr-qna-block .cr-qna-list-block .cr-qna-list-q-cont .cr-qna-list-q-author-verified
{
    color:#999;
}

.cr-qna-block .cr-qna-list-block .cr-qna-list-q-cont .cr-qna-list-q-author-verified svg path
{
    fill: #999;
    stroke: #999;
}

.cr-qna-block .cr-qna-list-block .cr-qna-list-q-cont .cr-qna-ans-button
{
    color:#ff2198;
}

.cr-qna-block .cr-qna-list-block .cr-qna-list-q-cont .cr-qna-list-q-q .cr-qna-list-q-q-r .cr-qna-list-question
{
    color:#333;
}

.cr-qna-block .cr-qna-list-block .cr-qna-list-q-cont .cr-qna-list-q-a .cr-qna-list-q-a-r .cr-qna-list-answer
{
    border-left:solid 3px #ccc;
}

/* End Q&As */


/* Email when in stock */

/* Hide the standard form as we insert the shortcode into a better place in functions */
div.xoo-wl-btc-inline_toggle
{
    display:none;
}

div.xoo-wl-btn-container
{
    padding-bottom: 25px;
    margin-bottom: 25px;
    border-bottom: solid 1px #ccc;
}

span.xwh-heading
{
    font-size: 20px;
}

span.xwh-subheading
{
    margin-top:10px;
}

.xoo-wl-form button.xoo-wl-submit-btn
{
    background: #ff2198;
    color: #fff;
}

.xoo-wl-form button.xoo-wl-submit-btn:hover
{
    background: #000;
    color: #fff;
}

div.xoo-aff-group
{
    width:100%;
}

div.xoo-wl-btc-inline_toggle
{
    display:none !important;
}




/*  Shipping - 'get it by' notice  */

.rt-shipping-widget
{
    margin: 37px 0 20px 0;
    padding: 15px;
    background: #efefef73;
    border: 1px solid #eee;
    border-radius: 4px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

.rt-shipping-widget h4
{
    margin: 0 0 15px 0; 
    font-size: 14px; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
    color: #666;
}

.rt-shipping-widget p:last-child
{
    margin: 0;
}

.shipping-icons
{
    margin-right: 15px; 
    font-size: 20px;
}

.shipping-get-it-by
{
    font-weight: bold; 
    font-size: 14px; 
    color: #1a1a1a;
}

.shipping-order-by
{
    font-size: 12px; 
    color: #333;
}

.rt-shipping-widget .rt-shipping-widget-item
{
    display: flex; 
    align-items: center; 
    margin-bottom: 12px; 
    padding-bottom: 12px; 
    border-bottom: 1px solid #ebebeb;
}

.rt-shipping-widget .rt-shipping-widget-item:last-child
{
    margin-bottom: 0; 
    padding-bottom: 0; 
    border-bottom: none;
}

p.product-shipping-extra
{
    font-size:12px;
}

a.product-shipping-info
{
    color: #ff2198 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
}

body.single-product span.delivery-date-range
{
    color:#ff2198;
}

/*  Stock Countdown Product Page  */

div#countdown
{
    background: #efefef;
    padding: 10px;
    margin-bottom: 20px;
    border: solid 1px #ff2198;
    border-radius: 2px;
}

div#countdown h4
{
    font-size:20px;
    margin-bottom:10px;
    color:#ff2198;
    text-transform: uppercase;
}

div#countdown p
{
    font-size:16px;
    margin-bottom:10px;
}

span.countdown-digits
{
    font-size:30px;
    font-weight:bold;
    margin-right:2px;
    color:#ff2198;
}

/*  Stock Countdown Product Loop  */

div.drop-countdown
{
    padding-top:2px;
    padding-bottom:2px;
    background:#ff2198;
    color:#fff;
    text-align:center;
    border-radius: 2px;
}

span.loop-countdown-title
{
    font-size:13px;
    text-transform: uppercase;
}

span.loop-countdown
{
    font-size:15px;
}



p.product-warning
{
    background-color: #fff4f4;
    padding: 15px;
    border-left: 5px solid #d9534f;
}



section.up-sells h4,
section.related h4
{
    font-size:22px;
}


/* ========== Basket ======== */

.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total, .editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name, .editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices, .wc-block-cart .wp-block-woocommerce-cart-order-summary-block
{
    font-size:15px;
}

div.wc-block-components-product-metadata__description
{
    display:none !important;
}

.wc-block-cart__empty-cart__title.with-empty-cart-icon:before
{
    display:none !important;
}

div.wp-block-woocommerce-empty-cart-block hr.my-separator
{
    border-bottom: solid 1px #ccc !important;
    margin-bottom: 30px;
}

hr.my-separator:before
{
    display:none;
}

h2.wc-block-cart__empty-cart__title
{
    color:#333 !important;
    font-style: italic;
}


/* Pre-order label in basket / checkout */
/* 1. Hide the label "RT_Status:" */
.wc-block-components-product-details__rt-status .wc-block-components-product-details__name {
    display: none;
}

/* 2. Transform the value into your clinical hardware badge */
.wc-block-components-product-details__rt-status .wc-block-components-product-details__value {
    display: inline-block;
    background-color: #ff2198; /* Ripping Terps Pink */
    color: #ffffff;
    padding: 3px 10px;
    font-family: monospace;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 1px;
    border: 1px solid #000;
    margin: 8px 0;
    box-shadow: 2px 2px 0px #000; /* High-spec shadow */
    text-transform: uppercase;
}

/* 3. Ensure the metadata container handles the new layout */
.wc-block-components-product-details__rt-status {
    display: block;
    margin-top: 5px;
    line-height: 1;
}


a.wc-block-cart__submit-button
{
    display: inline-block;
    padding: 10px 12px;
    font-weight: bold;
    color: #fff;
    background: #000;
    box-shadow: 4px 4px 0px #ff2198 !important;
    border-radius: 0;
    text-transform: uppercase;
    font-size: 15px;
}



body.woocommerce-cart div.wp-block-woocommerce-cart-cross-sells-block
{
    margin-top:30px;
}

body.woocommerce-cart div.wp-block-woocommerce-cart-cross-sells-block h2
{
    font-size: 28px !important;
}

body.woocommerce-cart div.wp-block-woocommerce-cart-cross-sells-block button
{
    font-size: 14px;
    border-radius: 4px;
}

body.woocommerce-cart div.wp-block-woocommerce-cart-cross-sells-block > div
{
    display:flex;
}

body.woocommerce-cart div.wp-block-woocommerce-cart-cross-sells-block div.cross-sells-product
{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

body.woocommerce-cart div.wp-block-woocommerce-cart-cross-sells-block div.cross-sells-product > div
{
    display: flex;
    flex-direction: column;
    flex-grow: 2;
}

body.woocommerce-cart div.wp-block-woocommerce-cart-cross-sells-block div.cross-sells-product > div.wp-block-button
{
    justify-content: end;
    flex-grow: 0;
}

body.woocommerce-cart div.wp-block-woocommerce-cart-cross-sells-block div.cross-sells-product > div h3
{
    flex-grow: 2;
}




/* ========== Checkout ======== */

.wp-block-woocommerce-checkout-order-summary-block, .wc-block-components-radio-control__label, .wc-block-components-checkout-return-to-cart-button, .wc-block-components-address-card, .wc-block-components-checkbox label, .wc-block-components-radio-control-accordion-content
{
    font-size:15px;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item
{
    display:block;
}

div.wc-block-components-order-summary-item__total-price span.price span.wc-block-components-formatted-money-amount
{
    padding: 0px 10px 15px 0;
    display: inline-block;
}

div.wc-block-checkout h2
{
    color:#333;
}

ins.wc-block-components-product-price__value, ins.is-discounted wc-block-components-order-summary-item__individual-price
{
    word-break: keep-all !important;
}

button.wc-block-components-checkout-place-order-button
{
    display: inline-block;
    padding: 10px 12px;
    font-weight: bold;
    color: #fff;
    background: #000;
    box-shadow: 4px 4px 0px #ff2198 !important;
    border-radius: 0;
    text-transform: uppercase;
    font-size: 15px;
}

button
{
    outline-colo: #000;
}

span#radio-control-wc-payment-method-options-vivacom_smart__label div
{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: solid 1px #999;
}

span#radio-control-wc-payment-method-options-vivacom_smart__label div img
{
    height:55px;
    max-height:55px;
}

div.wc-block-components-shipping-rates-control__package label.wc-block-components-radio-control__option
{
    background: #fff;
    background: linear-gradient(356deg, #efefefa3 32%, #fff 71%);
}

div.wc-block-components-shipping-rates-control__package span.wc-block-components-radio-control__label
{
    font-weight:bold !important;
    padding-right:20px;
}

div.wc-block-components-shipping-rates-control span.wc-block-components-formatted-money-amount, div.wc-block-components-shipping-rates-control span.wc-block-checkout__shipping-option--free
{
    font-size:16px;
}

div.shipping-description:after { 
   content: "."; 
   visibility: hidden; 
   display: block; 
   height: 0; 
   clear: both;
}

div.shipping-description
{
    color:#666;
    font-size: 15px;
    padding-top: 9px;
    margin-top: 7px;
    border-top: solid 1px #ccc;
}

div.shipping-description.service-point
{
    margin-bottom: 15px;
}

span.service-point-desc
{
    display: table;
    margin-bottom: 15px;
}

div.wc-block-components-shipping-rates-control span.wc-block-components-radio-control__secondary-label
{
    font-weight:bold;
    flex-basis:fit-content;
}

span.shipping-text
{
    display: block;
    margin-bottom: 5px;
}

div.shipping-description span.shipping-text:last-child
{
    margin-bottom: 0;
}

span.shipping-text.shipping-preorder-disclaimer
{
    font-size: 13px;
    margin-top: 10px;
    color: #000;
}

span.delivery-date-range
{
    font-weight:bold;
    color:#000;
    font-size: 14px;
    display: inline-block;
}

span.break-line
{
    display:inline-block;
}

span.shipping-cutoff
{
    display: table;
    margin-top: 5px;
}

div.del-cutoff-icon
{
    float:right;
    width:max-content;
    padding:8px 6px 5px 6px;
    margin-left: 10px;
    line-height: 15px;
    text-align:center;
    background:#fff;
    border:solid 1px #ccc;
    border-radius:3px;
}

span.cutoff-icon-time
{
    font-size:18px;
    font-weight:bold;
    color: #ff2198;
}

span.cutoff-icon-text
{
    font-size:13px;
    color: #000;
}

button#sendcloudshipping_service_point_select
{
    font-size: 14px;
    background: #000;
    color: #fff;
    padding: 4px 8px;
    border-radius: 3px;
    border: none;
    margin-top: 10px;
    margin-bottom: 10px;
}


.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label
{
    font-weight:bold;
    text-transform: uppercase;
}



img.klarna-spinner
{
    width:50px;
    display:block;
    margin:0px auto;
}


div#rt-preorder-notice
{
    background: #fff3cd;
    padding: 1em;
    margin-bottom: 1.5em;
    border: 1px solid #ffeeba;
    border-radius: 4px;
}


div#rt-preorder-notice p.preorder-checkout-text
{
    color: #856404;
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 12px;
}

div#rt-preorder-notice p.preorder-checkout-text:last-child
{
    margin-bottom: 0;
}

/**** Thank you - order received page ****/

body.woocommerce-order-received main.innerpage h1
{
    display:none;
}

body.woocommerce-order-received main.innerpage h1.order-received-title
{
    display:block;
    text-transform: capitalize;
}

body.woocommerce-order-received main.innerpage ul.woocommerce-thankyou-order-details
{
    margin-bottom: 6px;
}

body.woocommerce-order-received main.innerpage p.woocommerce-thankyou-order-received
{
    display:none;
}

/* ========== My Account ======== */



.woocommerce nav.woocommerce-MyAccount-navigation
{
    padding:0;
}


.woocommerce nav.woocommerce-MyAccount-navigation ul 
{
    flex-direction: column;
    justify-content: space-between;
}

.woocommerce nav.woocommerce-MyAccount-navigation ul a
{
    letter-spacing:1px;
}

.woocommerce nav.woocommerce-MyAccount-navigation ul li a:before
{
    /*color:#f7c0de;*/
    /*color:#b2005f;*/
    color:#fff;
    
}

.woocommerce nav.woocommerce-MyAccount-navigation ul a, .woocommerce nav.woocommerce-MyAccount-navigation ul a:visited
{
    display: block;
    /*background: #e83d99;*/
    background:#ff2198;
    color: #fff;
    padding: 10px;
    margin: 3px 0;
    border-radius: 2px;
}

.woocommerce nav.woocommerce-MyAccount-navigation ul li a:before
{
    font: var(--fa-font-solid);
    content: '\f005';
}



.woocommerce nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a:before
{
    font: var(--fa-font-solid);
    content: '\f290';
}

.woocommerce nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a:before
{
    font: var(--fa-font-solid);
    content: '\f2b9';
}

.woocommerce nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--payment-method a:before
{
    font: var(--fa-font-solid);
    content: '\f2b9';
}

.woocommerce nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a:before
{
    font: var(--fa-font-solid);
    content: '\f013';
}

.woocommerce nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:before
{
    font: var(--fa-font-solid);
    content: '\f2f5';
}

.woocommerce nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--high-five a:before
{
    font: var(--fa-font-solid);
    content: '\f81d';
}

.woocommerce nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--payment-methods a:before
{
    font: var(--fa-font-solid);
    content: '\f09d';
}

.woocommerce nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--support a:before
{
    font: var(--fa-font-solid);
    content: '\f1cd';
}

.woocommerce nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--returns a:before
{
    font: var(--fa-font-solid);
    content: '\f064';
}

.woocommerce nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--my-pre-orders a:before
{
    font: var(--fa-font-solid);
    content: '\f468';
}

.woocommerce nav.woocommerce-MyAccount-navigation ul li.is-active a
{
    background:#f880c0;
    
}

.woocommerce nav.woocommerce-MyAccount-navigation ul li.is-active a:before
{
    margin-right:15px;
    
}

.woocommerce nav.woocommerce-MyAccount-navigation ul li a:hover::before
{
    /*color:#ff2198;*/
    
}


.woocommerce nav.woocommerce-MyAccount-navigation ul li a:hover
{
    background:#f880c0;
}

.woocommerce-MyAccount-content header.woocommerce-Address-title
{
    margin-bottom:20px;
}

.woocommerce-MyAccount-content header.woocommerce-Address-title h2
{
    background:transparent !important;
    color:#333 !important;
    font-size: 24px !important;
    margin-bottom: 10px !important;
}

.woocommerce-MyAccount-content address
{
    padding-left: 10px;
    font-size: 18px;
    line-height: 27px;
}



.woocommerce-MyAccount-content button.button
{
    background:#e83d99;
    color:#fff;
    border-radius: 2px;
    margin-top: 10px;
}

.woocommerce-MyAccount-content button.button:hover
{
    background:#f880c0;
    color:#fff;
}

.woocommerce-info
{
    border-top-color:#f880c0;
}


.woocommerce-info::before
{
    color:#f880c0;
}

.woocommerce .woocommerce-info .button, .woocommerce .woocommerce-error .button, .woocommerce .woocommerce-message .button
{
    background: #000;
    color: #fff;
}

.woocommerce div.product div.images .flex-control-thumbs
{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 0px;
}

.woocommerce div.product div.images .flex-control-thumbs.extra-media
{
    margin-top:10px;
    padding-top:10px;
    border-top:solid 1px #ccc;
}

img.product-gallery-extra-thumb
{
    object-fit: cover;
    width: 100%;
    height: 100% !important;
}

/* ======= my lightbox ========= */

div#lightbox-bg
{
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #000000e6;
    z-index: 10;
    display:none;
}

div#lightbox-wrap
{
    max-width: 600px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

a#lightbox-close
{
    position:fixed;
    right: 0;
    padding: 10px;
    font-size: 28px;
    color: #fff;
    z-index: 10;
}

img#lightbox-image
{
    width: 100%;
}

div#productvideo-wrap
{
    padding: 45px 0;
}

iframe#product-yt-embed
{
    width:auto;
    height:80vh;
}

/* =================== End WooCommerce ====================== */

/* Price match */

div.rt-verification-rules
{
    clear: both; 
    padding: 25px; 
    background-color: #f8d7da; 
    border-left: 4px solid #ff007f; 
    color: #333; 
    margin: 30px 0; 
    border-radius: 0 4px 4px 0;
}


/* Authenticity page */

div.rt-authenticator-container
{
    max-width: 450px; 
    margin: 20px auto; 
    padding: 25px; 
    border: 1px solid #eee; 
    border-radius: 12px; 
}

div.rt-authenticator-container h3
{
    margin-top:0; 
    color:#111;
}

div.rt-authenticator-container p
{
    font-size:14px; 
    color:#666;
}

div.rt-authenticator-container button
{
    width: 100%; 
    background: #000; 
    color: #fff; 
    border: none; 
    padding: 14px; 
    font-size: 16px; 
    font-weight: 700; 
    border-radius: 6px; 
    cursor: pointer;
}



/*======================== Affiliates / Ambassadors =============================*/



/* My account */

div.account-high-five-notice-wrap
{
    background: #efefef;
    padding: 40px;
    border-radius: 0px;
    text-align: center;
    margin-bottom: 30px;
    border-left: 5px solid #ff2198;
}

span.high-five-coupon-shape
{
    background: #fff;
    padding: 0px 15px;
    border: dashed 2px #ccc;
    border-radius: 6px;
}

p.account-code-title
{
    font-size: 14px; 
    margin-top: 0; 
    text-transform: uppercase; 
    letter-spacing: 2px; 
    opacity: 0.8;
}

h3.account-high-five-code
{
    font-size: 52px; 
    color: #ff2198 !important; 
    margin: 15px 0; 
    font-family: monospace;
}

p.account-coupon-text
{
    opacity: 0.9; 
    max-width: 400px; 
    margin: 0 auto 20px auto;
}

a.account-portal-link
{
    display: inline-block; 
    padding: 15px 30px; 
    background: #ff2198; 
    color: #fff; 
    text-decoration: none; 
    font-weight: bold; 
    text-transform: uppercase; 
    letter-spacing: 1px;
    border-radius:2px;
}

div.account-high-five-info-box
{
    padding: 25px; 
    background: #f9f9f9; 
    border: 1px solid #eee;
}

div.account-high-five-info-box h4
{
    margin-top: 0; 
    text-transform: uppercase; 
    color: #333;
}

ul.account-high-five-benefits li
{
    list-style:disc;
}

p.account-no-code-yet
{
    color:#666;
}

a.high-five-activate-btn
{
    margin-top: 10px !important;
    color: #fff !important;
    box-shadow: 4px 4px 0px #ff2198 !important;
    border-radius: 0 !important;
}

a.high-five-activate-btn:visited
{
    background-color: #000 !important;
}

div.store-credit-wrap
{
    margin-top: 30px;
    padding: 20px;
    background: #f9f9f9;
    border: 1px solid #eee;
    border-left: 5px solid #ff2198;
}

div.store-credit-wrap h3
{
    color: #1e1e1e;
}

div.store-credit-value
{
    font-size: 28px;
    font-weight: bold;
    color: #ff2198;
}

a.ambassador-portal-link
{
    color: #ff2198;
    text-decoration: underline;
    font-weight: bold;
}

/* End my account */

.wcu_form_style_1
{
    width:90%;
}

body.ambassadors select
{
    padding: 11px;
    font-size: 15px;
    border-radius: 4px;
    border: solid 1px #000;
}


body.ambassadors h3
{
    color:#333;
}


.wcu-dash-coupon-area
{
    min-width:auto;
}

h2.coupon-title
{
    width:auto;
}

h2.coupon-title span.wcu-coupon-title
{
    border: dashed 2px #ccc;
    border-radius: 8px;
    padding: 5px 8px;
    text-transform: uppercase;
}

p.wcu-tab-title
{
    margin-bottom: 40px !important;
    text-align: center;
    font-weight: bold;
}

div.wcu-filters-col1
{
    align-items:start;
}

div.wcu-filters-col2
{
    margin-bottom:50px;
    align-items:start;
}

div.wcu-campaigns-col1
{
    margin-bottom: 30px;
}

div.wcu-campaigns-col2
{
    margin-bottom:30px;
}

select#wcu-referral-campaign
{
    margin-bottom:10px;
}

input#wcu-add-campaign-name
{
    margin-bottom:3px !important;
}

div.payouts-box
{
    background:#ff219836;
}

div.wcusage-product-rates
{
    overflow-x:auto;
}

table.wcusage-product-rates-table td img
{
    width:100%;
    height:auto;
}

table.wcusage-product-rates-table td
{
    
}

.wcuTable td
{
    padding-left:0 !important;
}

.wcusage-info-box
{
    background:#efefef;
    box-shadow:none;
}

div.wcusage-sales-stats .wcusage-info-box span.wcusage-info-box-title
{
    width:min-content;
}


.wcu-settings-tab-nav a
{
    color:#ff2198;
}

.wcu-settings-tab-nav li.active a
{
    border-bottom: solid 2px #ff2198;
}

.wcu-form-section p.wcu-register-field-col-templates
{
    display:none !important;
}

span.wcusage-info-box-title
{
    display: inline-block;
    margin-bottom: 20px;
}

p.wcu-tab-text
{
    max-width:100% !important;
    margin-bottom: 50px !important;
    
}


/*======================== End Affiliates / Ambassadors =============================*/


.ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol span
{
    font-size:15px !important;
    margin-top:7px !important;
}


footer
{
    width:100%;
    background:#000;
    padding: 40px 0 0 0;
}

body.home footer
{
    margin-top: -30px;
}

div#footer-inner
{
    width:calc(100% - 20px);
    max-width:calc(1200px - 20px);
    margin:0px auto;
    padding:10px;
    color:#fff;
    padding-bottom: 20px;
}

div#footer-content
{
    width:100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 40px;
    border-bottom: solid 2px #333;
    margin-bottom: 20px;
}

div#footer-content p
{
    color:#fff;
}

div#footer-content p#footer-verb
{
    color:#999;
    font-size: 14px;
    margin-bottom: 5px;
}

div#footer-content p#footer-definition
{
    color:#fff;
    line-height: 21px;
}

div#footer-left
{
    flex-grow:1;
    max-width: 25%;
}

img#footer-logo
{
    width:200px;
    height: auto;
}

div.footer-menu
{
    flex-grow:2;
}

div.footer-menu h4
{
    /*color:#e83d99;*/
    color:#ff2198;
    padding-bottom: 15px;
    margin-bottom: 20px;
    text-transform: uppercase;
    font-weight: normal;
    letter-spacing: 1px;
    border-bottom:solid 1px #fff;
}

div.footer-menu a
{
    color:#fff;
    text-decoration:none;
}

div.footer-menu ul li
{
    margin-bottom: 15px;
}

div#footer-bottom-text
{
    display:flex;
    justify-content:space-between;
    align-items: center;
}

div#footer-bottom-text p
{
    font-size: 15px;
    color:#777;
    margin-bottom:0;
}

p.copyright
{
    margin-right:10px;
    margin-left:10px;
}

p.company-details
{
    text-align:right;
    margin-right:10px;
    margin-left:10px;
}

p.company-details a
{
    color:#fff;
}

p.footer-registered-address
{
    font-size: 14px;
    color: #666;
    margin-bottom: 0px;
    margin-top: 20px;
    padding-top: 20px;
    text-align: center;
    border-top: solid 1px #333;
}

div#footer-bottom-left-wrap
{
    min-width: 45%;
}

img#payment-logos
{
    width:250px;
    height: auto;
    margin-left:8px;
}

div#cookie-notice-text p a
{
    color:#fff;
}

/* ================ Contact page ================================= */

div#contact-form-wrap
{
    width:calc(100% - 40px);
    background: #efefef;
    padding: 40px 20px;
    margin-top: 40px;
}

div#contact-form-wrap div.wpcf7
{
    width:100%;
    max-width:700px;
    margin:0 auto;
}

div#contact-form-wrap label
{
    color:#ff2198;
}

div#contact-form-wrap input, div#contact-form-wrap select, div#contact-form-wrap textarea
{
    width:calc(100% - 16px);
    padding:5px 8px;
}

div#contact-form-wrap input.wpcf7-submit
{
    width: 50%;
    float: right;
    padding: 8px;
    background: #ff2198;
    color: #fff;
    border: solid 2px #000;
    border-radius: 2px;
}

/*====================== Price primise page ========================= */

/* Product page banner */
.rt-unmatched-guarantee p {
    font-size:15px;
    line-height: 1.4;
}



/* Ripping Terps Custom Form Container Styling */
.rt-verification-form-wrapper {
    margin: 40px 0;
    background-color: #efefef;
    border: 1px solid #ccc;
    padding: 35px;
    border-radius: 0 4px 4px 0;
}

/* Style the labels above the inputs */
.rt-verification-form-wrapper label {
    display: block;
    color: #333;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    font-weight: 600;
}

/* Style all text inputs, textareas, and parameters */
.rt-verification-form-wrapper input[type="text"],
.rt-verification-form-wrapper input[type="email"],
.rt-verification-form-wrapper input[type="url"],
.rt-verification-form-wrapper textarea {
    width: 100%;
    padding: 14px;
    background-color: #fff;
    border: 1px solid #22222a;
    color: #333;
    font-family: inherit;
    font-size: 1em;
    border-radius: 3px;
    margin-bottom: 25px;
    box-sizing: border-box;
    transition: border-color 0.2s ease;
}

/* High-voltage focus state when a user clicks into a field */
.rt-verification-form-wrapper input:focus,
.rt-verification-form-wrapper textarea:focus {
    outline: none;
    border-color: #ff007f;
    box-shadow: 0 0 5px rgba(255, 0, 127, 0.2);
}

/* Style the auto-populated product field to look locked-in */
.rt-verification-form-wrapper input[readonly] {
    background-color: #0a0a0f;
    border-color: #16161f;
    color: #888899;
    cursor: not-allowed;
}

/* The Heavy-Duty Submission Button */
.rt-verification-form-wrapper input[type="submit"],
.rt-verification-form-wrapper button[type="submit"] {
    display: inline-block;
    width: auto;
    background-color: #ff007f;
    color: #ffffff;
    border: none;
    padding: 15px 35px;
    font-size: 1em;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 3px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

/* Button Hover State */
.rt-verification-form-wrapper input[type="submit"]:hover,
.rt-verification-form-wrapper button[type="submit"]:hover {
    background-color: #e0006c;
}

/* Button Click State */
.rt-verification-form-wrapper input[type="submit"]:active,
.rt-verification-form-wrapper button[type="submit"]:active {
    transform: scale(0.98);
}


/*====================== End Price promise page ========================= */


/*======================== How our kits are built page ====================*/


div.our-process-wrap
{
    display:flex;
}

div.our-process-text
{
    
}

div.our-process-img
{
    margin-left: 20px;
    display: flex;
    align-items: center;
}

div.our-process-img img
{
    width:250px;
    border-radius: 3px;
    clip-pat: polygon(50% 6%, 100% 0%, 100% 100%, 0 100%, 0 14%);
    clip-path: polygon(50% 6%, 100% 0%, 100% 89%, 0 100%, 0 14%);
}


/* Trust Badge Section Layout */
.rt-trust-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    margin: 40px auto;
    max-width: 1200px;
    padding: 0 15px;
}

/* Individual Badge Styling */
.rt-badge-card {
    flex: 1 1 calc(25% - 20px);
    min-width: 200px;
    text-align: center;
    background: #f9f9f9; /* Soft background to define the cards, adjust to your theme */
    padding: 20px;
    border-radius: 3px;
    box-sizing: border-box;
}

/* Icon (Emoji) Sizing */
.rt-badge-icon {
    font-size: 2.5rem;
    margin-bottom: 12px;
    line-height: 1;
}

/* Headings inside badges */
.rt-badge-card h4 {
    font-size: 1.1rem;
    margin: 0 0 8px 0;
    color: #111;
    font-weight: bold;
}

/* Subtext inside badges */
.rt-badge-card p {
    font-size: 0.9rem;
    margin: 0;
    color: #666;
    line-height: 1.4;
}

/* Mobile Responsive Stacking */
@media (max-width: 768px) {
    .rt-badge-card {
        flex: 1 1 calc(50% - 20px); /* Drops to 2 columns on tablets */
    }
}

@media (max-width: 480px) {
    .rt-badge-card {
        flex: 1 1 100%; /* Drops to a single clean column on mobile screens */
    }
}







/* CTA Section Wrapper */
.rt-cta-section {
    text-align: center;
    margin: 50px auto;
    padding: 40px 20px;
    background: #fafafa; /* Subtle background to frame the section */
    border-radius: 8px;
    max-width: 800px;
}

.rt-cta-section h3 {
    font-size: 1.5rem;
    color: #111;
    margin-bottom: 12px;
    font-weight: bold;
}

.rt-cta-section p {
    font-size: 1rem;
    color: #555;
    max-width: 600px;
    margin: 0 auto 30px auto;
    line-height: 1.5;
}

/* Button Container Layout */
.rt-cta-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

/* Base Button Styling */
.rt-btn {
    display: inline-block;
    padding: 14px 28px;
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease;
    box-sizing: border-box;
    min-width: 240px;
}

/* Primary Button (e.g., Ball Vapes) */
.rt-btn-primary {
    background-color: #111;
    color: #fff !important;
    border: 2px solid #111;
}

.rt-btn-primary:hover {
    background-color: #333;
    border-color: #333;
}

/* Secondary Button (e.g., Dab Kits) */
.rt-btn-secondary {
    background-color: transparent;
    color: #111 !important;
    border: 2px solid #111;
}

.rt-btn-secondary:hover {
    background-color: #111;
    color: #fff !important;
}

/* Mobile Responsive Adjustments */
@media (max-width: 600px) {
    .rt-cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .rt-btn {
        width: 100%; /* Full width buttons on small phones for easier tapping */
    }
}


/*================= End - How our kits are built page =========================*/



/*==================== 3D Print archive (archive-3d_print.php) ======================*/

div.rt-3d-print-warning
{
    background-color: #f9f9f9;
    border: solid 1px #ccc;
    border-left: 5px solid #ff8839;
    padding: 20px;
    margin-bottom: 30px;
    border-radius: 3px;
}

div.rt-3d-print-warning h4
{
    font-size:17px;
}

div.rt-3d-print-warning p
{
    font-size:15px;
    line-height:20px;
    margin-bottom:11px;
}

main.archive content ol.rt-3d-print-list
{
    margin-left:0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
}


main.archive content ol.rt-3d-print-list li.rt-3d-print-cards
{
    width:calc(32% - 18px);
    padding: 10px;
    border: solid 1px #ccc;
    border-radius: 3px;
    
    width: calc(33% - 17px);
    padding: 5px !important;
    margin: 0 !important;
    border: solid 1px #ebebeb;
    box-shadow: 0px 1px 2px #ccc;
    overflow: hidden;
    transition: background 0.5s;
}

main.archive content ol.rt-3d-print-list li.rt-3d-print-cards article h2
{
    margin-top:10px;
    margin-bottom: 10px;
    font-size: 17px;
    line-height: 25px;
}

main.archive content ol.rt-3d-print-list li.rt-3d-print-cards article .button
{
    text-align: center;
    display: block;
    background: #333;
    color: #fff;
    padding: 4px;
    border-radius: 3px;
}


article div.rt-3d-print-featured-image img
{
    width:100%;
    height:auto;
}


/*======================== End 3D Print archive =================================*/


/*==================== 3D Print single page (single-3d_print.php) ======================*/

div.rt-3d-print-featured-image img
{
    width:100%;
    height:auto;
}

article.rt-3d-print-wrap .button
{
    text-align: center;
    display: block;
    width: max-content;
    background: #333;
    color: #fff;
    padding: 6px 12px;
    border-radius: 3px;
}


/*======================== End 3D Print single page =================================*/



/*====================== B2B page ========================= */


:root {
            --bg-color: #efefef;
            --card-bg: #efefef;
            --accent-color: #ff2198;
            --text-main: #333333;
            --text-muted: #666666;
            --border-color: #cccccc;
        }

        .rt-b2b-container {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
            background-color: var(--bg-color);
            color: var(--text-main);
            max-width: 900px;
            margin: 0 auto;
            padding: 40px 20px;
            line-height: 1.6;
        }

        .rt-b2b-header {
            margin-bottom: 50px;
            border-bottom: 1px solid var(--border-color);
            padding-bottom: 40px;
        }

        .rt-b2b-header h1 {
            font-size: 2.5rem;
            font-weight: 800;
            letter-spacing: -0.05em;
            margin-bottom: 15px;
            text-transform: uppercase;
        }

        .rt-b2b-header p {
            font-size: 1.2rem;
            color: var(--text-muted);
            max-width: 600px;
            margin: 0 auto;
        }

        .rt-b2b-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 30px;
            margin-bottom: 50px;
        }

        @media (min-width: 768px) {
            .rt-b2b-grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        .rt-b2b-card {
            background-color: var(--card-bg);
            border: 1px solid var(--border-color);
            padding: 30px;
            border-radius: 4px;
            transition: border-color 0.3s ease;
        }

        .rt-b2b-card:hover {
            border-color: var(--accent-color);
        }

        .rt-b2b-card h3 {
            color: var(--accent-color);
            font-size: 1.25rem;
            margin-top: 0;
            margin-bottom: 15px;
            font-weight: 700;
        }

        .rt-b2b-card p {
            font-size: 0.95rem;
            color: var(--text-muted);
            margin-bottom: 0;
        }

        .rt-b2b-vault-section {
            background-color: #ff2198;
            border: 1px solid var(--accent-color);
            padding: 40px;
            border-radius: 4px;
            margin-bottom: 50px;
            position: relative;
        }

        .rt-b2b-vault-header {
            display: flex;
            align-items: center;
            margin-bottom: 20px;
        }

        .rt-b2b-vault-icon {
            font-size: 1.5rem;
            margin-right: 15px;
            color: var(--accent-color);
        }

        .rt-b2b-vault-section h2 {
            font-size: 1.5rem;
            font-weight: 700;
            margin: 0;
            color:#ffffff !important;
            letter-spacing: -0.03em;
        }

        .rt-b2b-vault-section p {
            color: #ffffff;
            font-size: 1rem;
            margin-bottom: 0;
        }

        .rt-b2b-form-wrapper {
            background-color: var(--card-bg);
            border: 1px solid var(--border-color);
            padding: 40px;
            border-radius: 4px;
        }

        .rt-b2b-form-wrapper h2 {
            font-size: 1.75rem;
            font-weight: 700;
            margin-top: 0;
            margin-bottom: 10px;
            letter-spacing: -0.03em;
        }

        .rt-b2b-form-wrapper > p {
            color: var(--text-muted);
            font-size: 0.95rem;
            margin-bottom: 30px;
        }

        .rt-form-group {
            margin-bottom: 20px;
        }

        .rt-form-group label, div#wpcf7-f1786-o1 form label {
            display: block;
            font-size: 0.85rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            margin-bottom: 8px;
            color: var(--text-main);
        }

        .rt-form-control, div#wpcf7-f1786-o1 form input {
            width: 100%;
            padding: 12px 15px;
            background-color: #ffffff;
            border: 1px solid var(--border-color);
            color: var(--text-main);
            font-size: 1rem;
            border-radius: 4px;
            box-sizing: border-box;
            transition: border-color 0.3s ease;
        }

        .rt-form-control:focus, div#wpcf7-f1786-o1 form input:focus {
            outline: none;
            border-color: var(--accent-color);
        }

        .rt-form-submit-btn, div#wpcf7-f1786-o1 form input.wpcf7-submit {
            background-color: var(--accent-color);
            color: #ffffff;
            font-size: 1rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            padding: 15px 30px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            width: 100%;
            transition: opacity 0.3s ease;
        }

        .rt-form-submit-btn:hover {
            opacity: 0.9;
        }



/*====================== End B2B page ========================= */



/* Force all waitlist container elements, inputs, and buttons to inherit your brand's Arial font */
.xoo-wl-container, 
.xoo-wl-btn, 
.xoo-wl-form-inline,
.xoo-wl-container * {
    font-family: Arial, Helvetica, sans-serif !important;
}

/* If the plugin uses a specific icon class that looks broken now, we can hide it or replace it */
.xoo-wl-icon, 
.xoo-wl-btn::before {
    font-family: Arial, Helvetica, sans-serif !important;
    content: "" !important; /* Removes the broken icon block cleanly */
}



/* =========================== Responsive ==========================*/

@media screen and (max-width: 1200px) {
    h3#cats-title
    {
        font-size: 10.5vw;
    }
}
    
    
@media screen and (max-width: 1059px) {
    .wcusage-info-box
    {
        width: calc(100% - 120px);
        margin-bottom: 20px;
    }
}
    

@media screen and (max-width: 1000px) {
    /*
    .woocommerce ul.products li, .woocommerce-page ul.products li 
    {
        width: calc(33% - 22px) !important;
    } 
    */
        
    div.learning-home-sections
    {
        width:calc(100% - 21px);
    }
    
    
    /* === Mobile menu === */
    
    nav#site-menu
    {
        display:none !important;
    }
    
    div#main-menu img#sticky-menu-logo
    {
        left: 0;
    }
    
    i#menu-icon
    {
        display:inline-block;
    }
    
    #mobile-menu-btn, #mobile-menu-close
    {
        padding: 8px 0px;
        display: inline-block;
        font-size: 30px;
        color: #fff;
        transition: all 0.2s ease;
        
        background: none !important;
        border: none !important;
        margin: 0 !important;
        cursor: pointer;
        outline: none;
        box-shadow: none !important;
        
        /* Ensures the FontAwesome icon inside handles the sizing */
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    
    #mobile-menu-close
    {
        display:none;
    }
    
    #mobile-menu-btn.logo-animated-left,
    #mobile-menu-close.logo-animated-left 
    {
        padding-left:65px;
    }
    

    
    span.basket-icon
    {
        display:none !important;
    }
    
    div#mobile-basket-wrap
    {
        display:inline-block;
        float: right;
    }
    
    a#mobile-basket
    {
        display: block;
        font-size: 30px;
        color: #fff;
        padding: 9px 10px 7px 10px;
    }
    
    div#mobile-basket-wrap span.mobile-notif-bubble
    {
        position: absolute;
        top: 6px;
        right: 8px;
        font-size: 12px;
        background: red;
        padding: 3px 6px;
        color: #fff;
        text-shadow: 1px 1px 1px #000;
        border-radius: 8px;
    }
    
    
    div#mobile-menu-wrapper
    {
        position: sticky;
        display:block;
        margin-left: -100%;
    }
    
    div#mobile-menu-buttons
    {
        display:inline-block;
    }
    
    /*
    div#mobile-menu-wrapper.mobile-menu-animate-up
    {
        top:50px;
    }
    */
    
    div#mobile-menu-inner
    {
        position: absolute;
        z-index: 10;
        background: #000;
        height: 100vh;
        width: 95%;
        margin: 0 auto;
        padding: 0px 20px;
    }
    
    div#mobile-menu-inner img#mobile-menu-title
    {
        width: 35%;
        height: auto;
        margin: 30px auto 30px auto;
        display: block;
    }
    
    div#mobile-site-menu-wrap
    {
        width:100%;
        border-top: solid 1px #ff2198;
        padding-top: 30px;
    }
    
    div#mobile-menu-inner ul li
    {
        
    }
    
    div#mobile-menu-inner ul li a
    {
        padding: 15px 0;
        display: inline-block;
        width: 100%;
        color: #fff;
        text-transform: uppercase;
    }
    
    div#mobile-menu-inner ul li.menu-item-has-children > a::after
    {
        font: var(--fa-font-solid);
        content:'\f107';
        margin-left: 8px;
    }
    
    div#mobile-menu-inner ul li ul.sub-menu
    {
        display:none;
    }
    
    div#mobile-menu-inner ul li ul.sub-menu li a
    {
        text-transform: capitalize;
        padding-left:25px;
        padding: 5px 0 5px 25px;
        color: #ff2198;
    }
    
    section.related ul.products li, section.upsells ul.products li, section.up-sells ul.products li
    {
        width: calc(50% - 22px) !important;
    }
    
}


@media screen and (max-width: 1000px) and (max-height: 400px) and (orientation: landscape){ /* == landscape only. Home hero banner/video == */
    
    div#hero-wrap
    {
        height:100vh;
    }
    
}






@media screen and (max-width: 800px) {
    
    p#topbar-returns
    {
        display:none;
    }
    
    div.side-content-wrap > div iframe
    {
        margin:0 auto;
        width:340px;
        display:block;
    }
    
    div.side-content-wrap
    {
        margin-bottom:30px;
    }
    
    div.side-content-wrap p:last-child
    {
        margin-bottom:0;
    }
    
    img#header-logo 
    {
        width: 150px;
    }
    
    div.vp-button-wrap
    {
        /*display:none;*/
        top: 17px;
        right: 15px;
    }
    
    div.vp-button-wrap p
    {
        padding: 3px 6px;
        clip-path: none;
        border-radius: 15px;
    }
    
    div#header-icons
    {
        /*top:42px;*/
        top:65px;
    }
    
    h3#cats-title
    {
        font-size: 20vw;
    }
    
    div#home-cats-outer-wrap
    {
        clip-path: polygon(0% 0%, 100% 0%, 100% 95%, 0% 100%);
        padding: 10px 0 100px 0;
    }
    
    div#home-cat-wrap
    {
        flex-direction:column;
        gap:40px;
    }
    
    div.home-cat-boxes
    {
        width:100%;
    }
    
    .rt-learning-grid {
        flex-direction: column; /* Switches from horizontal row to vertical list */
    }
    
    .rt-learning-grid div.home-article-cards {
        max-width: 100%; /* Overrides the desktop limit, stretching cards edge-to-edge */
        width: 100%;
    }
    
    
    div#home-fist
    {
        flex-direction: column;
    }
    
    .no-wrap-mobile
    {
        white-space:nowrap;
    }
    
    div#fist-text h1
    {
        font-size: 11vw;
    }
    
    content 
    {
    width: 100%;
    }
    
    
    main.innerpage 
    {
    flex-direction: column;
    }
    
    sidebar
    {
        width:100%;
    }
    
    img#sidebar-free-shipping
    {
        margin: 0 auto 20px auto;
        display: block;
    }
    

    
    div.header-text-wrap
    {
        flex-direction: column;
        align-items: start;
    }
    
    

    
    
    h2.big-header
    {
        font-size:100px;
    }
    
    
    
    div.side-content-wrap
    {
        padding: 0;
        width: 100%;
    }
    
    div.side-content-wrap.top-banner
    {
        background: #efefef;
        margin-bottom: 40px;
        padding:10px 0;
    }
    
    div.side-content-wrap img#sidebar-free-shipping
    {
        margin: 20px auto 20px auto;
    }
    
    
    div#auth-sidebar-wrap
    {
        padding:0px;
    }
    
    main.innerpage sidebar > div 
    {
        margin-bottom: 40px;
    }
    
    
    div#footer-content
    {
        flex-direction: column-reverse;
    }
    
    div#footer-left /* logo section */
    {
        width:100%;
        max-width: 100%;
    }
    
    img#footer-logo
    {
        width: 80%;
        margin: 0 auto;
        display: block;
    }
    
    
    div#footer-bottom-text
    {
        flex-direction:column;
    }
    
    div#footer-bottom-text p
    {
        max-width:100%;
    }
    
    div#footer-bottom-text p.copyright
    {
        margin-bottom: 10px;
    }
    
    p.company-details
    {
        text-align:center;
    }
    
    
    div#footer-bottom-left-wrap
    {
        text-align:center;
    }
    
    
    div.footer-menu ul li 
    {
        margin-bottom: 15px;
    }
    
    
    div.our-process-wrap 
    {
        flex-direction: column;
        margin-bottom: 30px;
    }
    
    div.our-process-img
    {
        margin-left:0;
    }
    
    div.our-process-img img 
    {
        width:100%;
    }
    
    main.archive content ol.rt-3d-print-list li.rt-3d-print-cards
    {
        width: calc(50% - 19px);
    }
    
    
}


@media screen and (max-width: 760px) {
    .wcusage-info-box
    {
        width: 100%;
    }
}


@media screen and (max-width: 650px) {

    .woocommerce ul.products li, .woocommerce-page ul.products li, main.home .woocommerce ul.products li
    {
        width: calc(50% - 22px) !important;
    }    
    
    
    div#hero-wrap
    {
        height:calc(70vh - 200px);
    }
    
    main.innerpage
    {
        gap:20px;
    }
    
    div.hero-text-wrap h1
    {
        font-size:30px;
    }
    
    img#pink-fist
    {
        width:100%;
        max-width:344px;
        height: auto;
    }
    
    div#fist-text h3
    {
        font-size: 9vw;
    }
    
    div#verify-buttons-wrapper a
    {
        display:block;
        margin-bottom:15px;
        margin-right:0;
    }
    
    div#verify-buttons-wrapper a
    {
        padding: 8px 14px;
    }
    

    
}


@media screen and (max-width: 505px) {
    
    div.side-content-wrap.top-banner
    {
        padding: 0;
        width: 100%;
        background: #fff;
        margin-bottom: 35px;

    }
    
    div.side-content-wrap.top-banner img#sidebar-free-shipping
    {
        min-width:100%;
        max-width:100%;
        margin-top: 0;
    }
    
    
    div#cookie-notice-wrap
    {
        flex-direction:column;
    }
    
    div#cookie-notice-buttons-wrap
    {
        margin-top: 10px;
        margin-bottom:15px;
    }
    
    div#cookie-notice-buttons-wrap a
    {
        padding: 8px 12px;
    }
    
}

