/*
Theme Name: Everything Magnet
Theme URI: https://everythingmagnet.com
Description: Custom WooCommerce theme for Everything Magnet / Magnet Giant, Inc. Faithful rebuild of the classic desktop design, made responsive and mobile-friendly. Phase 3: editable category pages.
Author: WP Buddha (Gerald)
Version: 0.7.06
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: everythingmagnet
*/

:root{
  --em-page-bg:#5B0000;   /* dark red page background (legacy) */
  --em-surface:#EBEBEB;   /* header/nav/footer light gray (legacy) */
  --em-white:#ffffff;
  --em-text:#1a1a1a;
  --em-nav:#D12920;       /* red nav links (legacy #nav a) */
  --em-nav-hover:#49619D; /* blue hover (legacy) */
  --em-green:#006600;     /* category headers (used in later phase) */
  --em-maxw:1000px;       /* legacy fixed container width */
  --em-head:#0066FF;      /* default category heading colour (legacy .h1bold36) */
  --em-accent-red:#FF0000;/* legacy .style17 / .style13 inline accent */
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;padding:0;
  background:var(--em-page-bg);
  color:var(--em-text);
  font-family:Verdana,Arial,Helvetica,sans-serif;
  font-size:14px;line-height:1.5;
  text-align:center; /* centers the fixed container, as in the legacy layout */
}
img{max-width:100%;height:auto;border:0;}
a{color:var(--em-nav);text-decoration:none;}
a:hover{color:var(--em-nav-hover);}

/* Fixed 1000px container, centered on white — matches legacy desktop */
.em-container{
  width:var(--em-maxw);
  max-width:100%;
  margin:0 auto;
  background:var(--em-white);
  text-align:left;
  border:1px solid var(--em-surface);
  position:relative; /* positioning context for the Books column */
}

/* ---------- Header ---------- */
.em-topbar{
  background:var(--em-surface);
  text-align:center;
  font-family:"Times New Roman",Times,serif;
  font-weight:bold;
  font-size:18px;line-height:1.25;
  padding:8px 12px;
}
/* One consistent size, deliberately. The legacy set this per page and was
   inconsistent about it: 15 pages used class="text1" (22px Georgia) and 57 had
   no class at all, falling through to a later inline `body,td,th{font-family:
   Times New Roman}` rule that overrode the Verdana body font. 14px Times bold
   is the majority look. 8px padding + 14px/1.25 = ~34px tall, which is exactly
   the offset the Books column starts at below. */
.em-banner{background:var(--em-surface);text-align:left;padding:0 160px 6px 12px;}
/* Left-aligned, as the legacy <img> was: a bare element inside
   #header{padding:0 12px}, never centred. The 160px right padding keeps it
   clear of the Books column at viewports between 861px and 1000px. */
.em-banner-picture{display:inline-block;max-width:100%;vertical-align:middle;}
.em-banner-img{display:block;max-width:100%;height:auto;vertical-align:middle;}

/* ---------- Nav (shared by header + footer) ---------- */
.em-nav{background:var(--em-surface);text-align:center;padding:8px 10px;}
.em-menu{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:.15rem .5rem;
}
.em-menu li{display:inline-flex;align-items:center;}
  .em-menu li + li::before{content:"|";color:#9a9a9a;margin-right:.5rem;} /* clean centered pipes */
.em-footer .em-menu li:nth-child(2)::before{content:none;margin-right:0;}
.em-nav a{color:var(--em-nav);font-weight:bold;padding:2px 4px;}
.em-nav a:hover{color:var(--em-nav-hover);}
.em-menu .current-menu-item > a{
  background:#fff;border:1px solid #d0d0d0;border-radius:2px;
  color:var(--em-nav-hover);
}
.em-nav-short{display:none;}
.em-mobile-shopbar,
.em-mobile-menu-toggle,
.em-mobile-cart-shortcut,
.em-mobile-category-menu,
.em-mobile-cats-bottom{display:none;}

/* ---------- Three-column body layout ----------
   Legacy used absolutely-positioned sidebars; flex renders the same on desktop
   but survives long content and reflows cleanly on mobile.                     */
.em-layout{
  display:flex;align-items:stretch;
  background:linear-gradient(to right,var(--em-surface) 0 160px,var(--em-white) 160px);
  padding-right:160px;
}
.em-col{flex:0 0 auto;background:var(--em-surface);}
.em-col--left{width:160px;}

/* Books column: legacy #sidebar2 was `position:absolute; top:34px; right:0`, so it
   rises past the nav and banner into the header, stopping just under the tagline.
   Reproduced here. Being out of flow it also stops driving page height, which is
   why the legacy short pages ended cleanly instead of trailing 400px of white.
   The Dreamweaver template warns that an AP sidebar can overrun its container, so
   unlike the legacy this one is capped.
   Clipped rather than scrolled: 17 covers always exceed the cap, so `overflow-y:auto`
   put a scrollbar on the column on every single page. The covers are decorative, and
   a tall page has room for all of them anyway — a short one simply shows fewer, which
   is what the legacy fixed-height AP div did. */
.em-col--right{
  position:absolute;
  top:34px;
  right:0;
  width:160px;
  padding:0 10px;
  z-index:2;
  max-height:calc(100% - 34px);
  overflow:hidden;
}
.em-main{flex:1 1 auto;min-width:0;background:var(--em-white);padding:12px 10px;min-height:320px;}
/* 10px side padding == the legacy gutter: #mainContent sat at margin:0 170px
   against 160px sidebars, giving a 660px column. Keep it there — at 36px Times
   the longest category heading ("Magnetic Mens Stainless Steel Bracelets") needs
   ~660px and wraps to two lines below that.
   Pages that want a wider inset (the info pages, whose legacy GIFs carried ~35px
   of their own internal margin) should add it on their own wrapper, not here. */

/* Cart button — clearer than the old GIF, shows a live count */
.em-cart-wrap{padding:0 6px 20px;}
.em-cart-btn{
  display:flex;align-items:center;justify-content:center;gap:6px;
  background:#fff;border:1px solid #b9b9b9;border-radius:4px;
  padding:8px 6px;font-weight:bold;font-size:12px;color:#333;
}
.em-cart-btn:hover{border-color:var(--em-nav);color:var(--em-nav);}
.em-cart-icon{font-size:15px;line-height:1;}
.em-cart-count{background:#ccc;color:#222;border-radius:10px;padding:1px 7px;font-size:11px;line-height:1.4;}
.em-cart-btn.has-items{border-color:var(--em-nav);}
.em-cart-btn.has-items .em-cart-count{background:var(--em-nav);color:#fff;}
#em-sidebar-left .em-cart-btn,
.em-edge-panel-cart .em-cart-btn,
.em-mobile-cart-shortcut .em-cart-btn{
  width:124px;height:28px;margin:0 auto;padding:0 4px;gap:3px;
  background:linear-gradient(to bottom,#fff 0%,#d9e9f8 24%,#90bdea 75%,#6a97ca 100%);
  border:1px solid #4d637e;border-radius:3px;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),1px 1px 1px rgba(0,0,0,.35);
  color:#102235;font:bold 12px/26px Arial,Helvetica,sans-serif;
  text-transform:uppercase;
}
#em-sidebar-left .em-cart-btn:hover,
.em-edge-panel-cart .em-cart-btn:hover,
.em-mobile-cart-shortcut .em-cart-btn:hover{
  background:linear-gradient(to bottom,#fff 0%,#e2effa 24%,#a2c8eb 75%,#78a5d3 100%);
  border-color:#344b66;color:#102235;
}
#em-sidebar-left .em-cart-icon,
.em-edge-panel-cart .em-cart-icon,
.em-mobile-cart-shortcut .em-cart-icon{
  font-size:14px;
  filter:grayscale(1) brightness(.45) contrast(1.4);
}
#em-sidebar-left .em-cart-count,
#em-sidebar-left .em-cart-btn.has-items .em-cart-count,
.em-edge-panel-cart .em-cart-count,
.em-edge-panel-cart .em-cart-btn.has-items .em-cart-count,
.em-mobile-cart-shortcut .em-cart-count,
.em-mobile-cart-shortcut .em-cart-btn.has-items .em-cart-count{
  width:17px;height:17px;padding:0;
  border:1px solid #607891;border-radius:50%;
  background:#d7e2ec;color:#102235;
  font:bold 10px/15px Arial,Helvetica,sans-serif;text-align:center;
}

/* Category menu — green headers over light rows (legacy look) */
.em-cats-nav{margin-top:2px;}
.em-cat-head{background:var(--em-green);padding:4px 6px;margin-top:2px;}
.em-cat-head a{color:#fff;font-weight:bold;font-size:12.5px;display:block;}
.em-cat-head a:hover{color:#cdebcd;}
.em-cat-list{list-style:none;margin:0;padding:0;background:var(--em-surface);}
.em-cat-list li{border-bottom:1px solid #dcdcdc;}
.em-cat-list li a{display:block;position:relative;padding:4px 6px 4px 17px;color:#333;font-size:12px;}
.em-cat-list li a::before{content:"\25B8";position:absolute;left:7px;color:#8a8a8a;}
.em-cat-list li a:hover{background:#f4f4f4;color:var(--em-nav);}
.em-cat-list li a:hover::before{color:var(--em-nav);}
.em-cat-list li.is-current a{
  background:#fff;color:#000;font-weight:bold;
}
.em-cat-list li.is-current a::before{color:#000;}
.em-cat-head.is-current{background:#fff;border:1px solid var(--em-green);padding:3px 5px;}
.em-cat-head.is-current a{color:var(--em-green);font-weight:bold;}
.em-cat-head.is-current a:hover{color:var(--em-green);}

/* Sidebar search */
.em-search{display:flex;flex-direction:column;gap:5px;padding:10px 6px;background:var(--em-surface);}
.em-search input[type="search"]{
  width:100%;height:31px;padding:2px 7px;border:1px solid #777;border-radius:4px;
  font:14px Arial,Helvetica,sans-serif;box-sizing:border-box;
}
.em-search button{
  min-height:27px;padding:2px 12px;border:1px solid #4d637e;border-radius:4px;
  background:linear-gradient(to bottom,#fff 0%,#d9e9f8 24%,#90bdea 75%,#6a97ca 100%);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),0 2px 2px rgba(0,0,0,.3);
  color:#102235;font:bold 14px/21px Arial,Helvetica,sans-serif;
  text-align:center;text-decoration:none;cursor:pointer;box-sizing:border-box;
}
.em-search button:hover,.em-search button:focus{
  background:linear-gradient(to bottom,#fff 0%,#e2effa 24%,#a2c8eb 75%,#78a5d3 100%);
  border-color:#344b66;color:#102235;
}
.em-search button:active{
  transform:translateY(1px);
  box-shadow:inset 1px 1px 2px rgba(0,0,0,.2);
}

/* Promo slots */
.em-promos{text-align:center;padding:4px 6px 10px;}
.em-promos img{max-width:100%;margin-bottom:10px;}
.em-widget{margin-bottom:10px;}
.em-widget-title{font-size:13px;margin:0 0 6px;}

/* Books column */
.em-sidebar-section + .em-sidebar-section{margin-top:14px;}
.em-books-head{text-align:center;font-family:Georgia,"Times New Roman",Times,serif;font-weight:bold;font-size:18px;padding:8px 0 6px;}
.em-books-carousel{position:relative;}
.em-books{display:flex;flex-direction:column;align-items:center;gap:12px;padding-bottom:12px;}
.em-books a{
  display:block;transition:transform .16s ease,box-shadow .16s ease;
}
.em-books img{width:140px;height:auto;display:block;}
@media (hover:hover) and (pointer:fine){
  .em-books a:hover{
    transform:translateY(-4px);
    box-shadow:0 4px 8px rgba(0,0,0,.18);
  }
}
.em-books-clone{display:none;}
.em-books-arrow{display:none;}

/* a11y helper */
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}

/* ---------- Footer (cleaned up: solid surface, legible, centered) ---------- */
.em-footer{
  background:var(--em-surface);
  border-top:1px solid #d0d0d0;
  text-align:center;
  padding:16px 12px 20px;
  color:#333;
}
.em-footer .em-nav{background:transparent;padding:0 0 10px;}
/* Cap the footer menu width so the row never runs under the Books column:
   Home→SiteMap fill the first line, Affiliate Program + Login wrap to a
   centered second line. The pipe rule below hides the leading "|" that the
   wrapped row would otherwise start with. */
.em-nav--footer .em-menu{max-width:540px;margin:0 auto;}
.em-footer .em-menu li.menu-item-3336::before{content:none;margin-right:0;}
.em-seals{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin:10px 0 6px;}
.em-seals img{height:44px;width:auto;}
.em-authorize-net-seal{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;}
.em-authorize-net-seal a{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;}
.em-authorize-net-seal a:first-of-type{line-height:0;}
.em-authorize-net-seal img{width:auto;max-width:none;}
.em-authorize-net-seal a{font-size:10px;}
.em-copyright{margin:8px 0 0;font-size:12px;color:#444;}

/* ---------- Legacy homepage photo directory ---------- */
.em-home{text-align:center;font-family:"Times New Roman",Times,serif;color:#000;}
.em-home-title{
  margin:4px 0 0;color:#149236;
  font:italic bold 34px Georgia,"Times New Roman",Times,serif;line-height:1.15;
}
.em-home-intro{margin:0;font-size:18px;line-height:1.15;}
.em-home-eyes{display:block;margin:4px auto 0;max-width:100%;height:auto;}
.em-home-click{
  margin:2px 0 12px;padding-bottom:8px;border-bottom:1px solid #d6d6d6;
  color:#0066ff;font:bold 36px "Times New Roman",Times,serif;line-height:1.05;
}
.em-home-grid{
  display:grid;grid-template-columns:repeat(3,1fr);align-items:start;
  width:660px;max-width:100%;margin:0 auto;
}
.em-home-tile{min-height:150px;text-align:center;font-size:16px;line-height:1.1;}
.em-home-tile:nth-child(n+4){
  border-top:1px solid #d6d6d6;padding-top:12px;margin-top:10px;
}
.em-home-tile a,.em-home-wide-tile a{
  display:inline-block;max-height:300px;overflow:hidden;vertical-align:top;color:#0033cc;
  transition:transform .16s ease,box-shadow .16s ease;
}
.em-home-tile a:hover,.em-home-wide-tile a:hover{
  transform:translateY(-4px);box-shadow:0 4px 8px rgba(0,0,0,.18);
}
.em-home-tile img,.em-home-wide-tile img{display:block;margin:0 auto;max-width:100%;height:auto;}
.em-home-tile-label{margin:0 0 2px;}
.em-home-wide-row{
  grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,1fr);
  align-items:start;width:100%;margin:10px auto 0;padding-top:12px;border-top:1px solid #d6d6d6;
}
.em-home-wide-tile{text-align:center;font-size:16px;line-height:1.1;}
.em-home-model{margin:8px 0 0;color:#0066ff;font:bold 16px Arial,Helvetica,sans-serif;}
.em-home-outro{margin:6px 0 12px;color:#006600;font:bold 18px Arial,Helvetica,sans-serif;line-height:1.25;}

/* ---------- Category page ----------
   The legacy pages set the heading per page: 36px/45px/26px in three fonts and
   four colours. Size and font are now fixed site-wide; only the colour stays
   per-category, which is the part that carried meaning.                        */
.woocommerce-products-header .em-cat-title{
  font-family:"Times New Roman",Times,serif;
  font-weight:bold;
  font-size:clamp(24px,5.2vw,36px); /* caps at the legacy 36px on desktop */
  line-height:1.15;
  color:var(--em-head);
  text-align:center;
  margin:6px 0 10px;
}
.em-cat-header{margin-bottom:6px;}
.em-cat-intro{text-align:center;font-size:14px;}
.em-cat-intro p{margin:.5em 0;}
.em-cat-intro::after{content:"";display:block;clear:both;}

/* Legacy class names, kept so pasted markup from the old pages renders as it did */
.em-cat-intro .top-words,
.em-cat-below .top-words{font-family:"Times New Roman",Times,serif;font-size:24px;font-weight:normal;color:var(--em-head);}
.em-cat-intro .topwords,
.em-cat-below .topwords{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:24px;font-weight:bold;color:var(--em-head);}
.em-cat-intro .green2,.em-cat-below .green2{font-family:"Times New Roman",Times,serif;font-size:18px;color:#009966;}
.em-cat-intro .h2times18,.em-cat-below .h2times18{font-family:"Times New Roman",Times,serif;font-size:18px;}
.em-cat-intro .text2,.em-cat-below .text2{font-size:45px;font-weight:bold;color:#B30000;font-family:Georgia,"Times New Roman",Times,serif;}
.em-cat-intro .text3,.em-cat-below .text3{font-size:16px;}
.em-cat-intro .text4,.em-cat-below .text4{font-size:14px;}
.em-cat-intro .style12,.em-cat-below .style12{color:#006600;font-weight:bold;}
.em-cat-intro .style13,.em-cat-intro .style17,
.em-cat-below .style13,.em-cat-below .style17{color:var(--em-accent-red);font-weight:bold;}
.em-cat-intro .text1,.em-cat-below .text1{font-family:Georgia,"Times New Roman",Times,serif;font-size:22px;font-weight:bold;}

/* Resolved highlight colours.
   The legacy .styleNN classes were declared per page and were not consistent —
   .style17 is red on ten pages but green on one and black on another. Carrying the
   names across would have painted some of the client's copy the wrong colour, so the
   extractor resolves each to its declared colour and emits one of these instead.
   Colour only: the legacy declarations were mostly not bold, and the text got its
   weight from the surrounding heading. */
.em-cat-intro .em-hl-red,.em-cat-below .em-hl-red{color:var(--em-accent-red);}
.em-cat-intro .em-hl-green,.em-cat-below .em-hl-green{color:var(--em-green);}
.em-cat-intro .em-hl-blue,.em-cat-below .em-hl-blue{color:var(--em-head);}
.em-cat-intro .em-hl-bold,.em-cat-below .em-hl-bold{font-weight:bold;}
/* The legacy copy blocks were <br />-separated lines inside an h2 at the browser
   default line-height, so they sat much tighter than the body's 1.5. */
.em-cat-intro h2,.em-cat-intro h3{font-family:"Times New Roman",Times,serif;font-weight:bold;margin:.4em 0;line-height:1.28;}
.em-cat-intro h2 .text3,.em-cat-intro h2 .text4,
.em-cat-intro p .text3,.em-cat-intro p .text4{line-height:1.28;}

/* Subcategory link row — "Gold Only || Black Only || Super Wide" */
.em-subcats{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;margin:10px 0;line-height:2;}
.em-subcats a{color:#0033CC;text-decoration:underline;padding:2px 1px;}
.em-subcats a:hover{color:var(--em-nav);}
.em-subcats .em-sep{color:#999;}
.em-subcats .em-subcat-current{color:#333;font-weight:bold;text-decoration:none;}

/* The red italic line that sits just above the product photos */
.em-click-note{font-size:18px;color:var(--em-accent-red);font-style:italic;font-weight:bold;margin:10px 0 6px;}
.woocommerce-result-count{display:inline-block;width:28%;margin:0 0 8px;vertical-align:top;}
.woocommerce-ordering{display:inline-block;float:right !important;width:34%;margin:0 0 8px;text-align:right;vertical-align:top;}
.woocommerce-ordering select.orderby{
  -webkit-appearance:none;appearance:none;
  height:31px;padding:4px 34px 4px 12px;box-sizing:border-box;
  background-color:#f3f3f3;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;
}
@media (min-width:861px){
  .woocommerce-result-count{min-height:31px;line-height:31px;}
}
/* Confirmation checkmark appended to "Showing all N results" (permanent —
   only the checkmark itself fades, so there's no layout shift there). */
.em-show-all-checkmark{
  display:inline-block;margin-left:6px;color:var(--em-green);font-weight:bold;
  opacity:1;transition:opacity 1s ease;
}
.em-show-all-checkmark.em-fade-out{opacity:0;}

/* Mobile 1/2/3-column grid toggle — hidden on desktop, shown at max-width:600px below */
.em-col-toggle{display:none;}

/* "Show all" button — once in the shop-loop header, once above pagination
   at the bottom (assets/js/show-all-products.js keeps both in sync). Once
   loading finishes they're no longer needed (the result count + checkmark
   above now show it worked), so they slide up and fade away smoothly over
   1s instead of vanishing instantly and shifting the page. */
.em-show-all-wrap{
  margin:4px 0 12px;text-align:center;
  max-height:50px;overflow:hidden;
  transition:opacity 1s ease,max-height 1s ease,margin 1s ease;
}
.em-show-all-wrap--top{display:block;width:100%;margin:0 0 8px;vertical-align:top;}
.em-show-all-wrap.em-fade-out{opacity:0;max-height:0;margin-top:0;margin-bottom:0;}
.em-show-all-btn{
  display:inline-block;
  border:1px solid #777;border-radius:2px;background:#eee;
  color:#000;padding:6px 14px;
  font:bold 14px Arial,Helvetica,sans-serif;cursor:pointer;
  box-shadow:inset 1px 1px 0 #fff,inset -1px -1px 0 #bbb;
}
.em-show-all-btn:hover{background:#f8f8f8;border-color:#555;}
.em-show-all-btn:disabled{cursor:default;opacity:.85;}

/* "Why Magnets?" — a form button on the old site, a link here */
.em-why-wrap{margin:2px 0 8px;text-align:center;line-height:1.2;}
.em-why-btn{
  display:inline-block;max-width:100%;
  border:1px solid #777;border-radius:2px;background:#eee;
  color:#000;padding:2px 8px;
  font:13px Arial,Helvetica,sans-serif;
  box-shadow:inset 1px 1px 0 #fff,inset -1px -1px 0 #bbb;
}
.em-why-btn:hover{color:#000;background:#f8f8f8;border-color:#555;}

/* Legacy product grid: the old pages were bordered table cells. */
ul.products{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;
  clear:both;list-style:none;margin:0 4px 12px;padding:2px;
  border:2px ridge #aaa;background:#fff;
}
ul.products.columns-1{grid-template-columns:repeat(1,minmax(0,1fr));}
ul.products.columns-2{grid-template-columns:repeat(2,minmax(0,1fr));}
ul.products.columns-3{grid-template-columns:repeat(3,minmax(0,1fr));}
ul.products.columns-4{grid-template-columns:repeat(4,minmax(0,1fr));}
ul.products.columns-5{grid-template-columns:repeat(5,minmax(0,1fr));}
ul.products.columns-6{grid-template-columns:repeat(6,minmax(0,1fr));}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after{content:none !important;display:none !important;}
ul.products li.product{
  display:grid;align-items:end;
  float:none;clear:none !important;width:auto !important;margin:0 !important;padding:4px 3px 5px;
  border:1px solid #999;background:#fff;text-align:center;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
@media (hover:hover) and (pointer:fine){
  ul.products li.product:hover{
    transform:translateY(-4px);
    border-color:#777;
    box-shadow:0 4px 8px rgba(0,0,0,.18);
    position:relative;z-index:2;
  }
}
ul.products li.product a{display:block;color:#0073aa;text-decoration:none;}
ul.products li.product a.woocommerce-LoopProduct-link{width:100%;}
ul.products li.product img{
  display:block;width:auto;height:auto;max-width:100%;max-height:240px;object-fit:contain;margin:0 auto 4px;
}
ul.products li.product .woocommerce-loop-product__title{
  margin:0 0 6px;padding:0;
  color:#0073aa;font:700 16px Arial,Helvetica,sans-serif;line-height:1.1;
}
ul.products li.product .em-loop-title-text{
  display:block;margin:0 4px 4px;color:#000;font:16px/1.1 "Times New Roman",Times,serif;
}
ul.products li.product .em-loop-click{
  display:block;margin:0;color:#008000;font:bold 14px Arial,Helvetica,sans-serif;line-height:1.1;
}
ul.products li.product .em-loop-price{
  display:block;margin:5px 0 0;color:#000;font:14px Arial,Helvetica,sans-serif;line-height:1.1;
}
ul.products li.product .em-loop-price .amount{color:inherit;font-weight:normal;}
.em-loop-stock{display:block;margin:3px 0 8px;font:bold 13px Arial,Helvetica,sans-serif;}
.em-loop-stock--out{color:#d12920;}
.woocommerce ul.products li.product .price.em-loop-price,
.woocommerce-page ul.products li.product .price.em-loop-price{
  color:#000;font:bold 14px Arial,Helvetica,sans-serif !important;line-height:1.15;
}
.woocommerce ul.products li.product .price.em-loop-price .amount,
.woocommerce-page ul.products li.product .price.em-loop-price .amount{
  color:#d12920;font-weight:bold;
}

.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td.em-shipping-options-cell{width:100%;box-sizing:border-box;text-align:left;}
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td.em-shipping-options-cell::before{content:none !important;}
.em-shipping-options-title{padding-bottom:8px;border-bottom:1px solid #d3d3d3;font-weight:bold;}
.woocommerce-checkout-review-order-table ul#shipping_method{margin:0;padding:10px 0 0;}
.woocommerce-checkout-review-order-table ul#shipping_method li{margin:0 0 7px;line-height:1.35;}

/* Legacy product search results: list rows, not category tiles */
.search-results.post-type-archive-product ul.products,
.search-results ul.products:has(.em-search-product){
  display:block;border:0;margin-top:8px;
}
.search-results ul.products li.product.em-search-product{
  display:grid;grid-template-columns:220px 1fr;column-gap:18px;align-items:center;
  width:100% !important;margin:0 !important;padding:13px 8px 16px !important;
  border:0;border-top:1px solid #bfbfbf;background:#fff;text-align:left;
}
.search-results ul.products li.product.em-search-product:first-child{border-top:1px solid #999;}
.em-search-click{
  grid-column:1 / -1;margin:0 0 8px;text-align:center;
  color:#ff0000;font:bold italic 15px Arial,Helvetica,sans-serif;line-height:1.2;
}
.em-search-image{display:block;text-align:center;color:#0073aa;text-decoration:none;}
.em-search-image img{
  display:block;width:auto;max-width:180px;max-height:120px;height:auto;margin:0 auto 2px;
}
.em-search-image span{
  display:block;color:#0073aa;font:bold 16px Arial,Helvetica,sans-serif;line-height:1.1;
}
.em-search-summary{font:16px Arial,Helvetica,sans-serif;color:#000;line-height:1.18;}
.em-search-summary strong{color:#008000;font-size:20px;}
.em-search-summary a{display:block;color:#0000ff;text-decoration:none;}
.em-search-summary a:hover{text-decoration:underline;}
.em-search-summary div:last-child strong{color:#ff0000;font-size:16px;}
.em-search-summary .amount{color:inherit;font-weight:bold;}

/* Legacy product detail option dropdowns */
.single-product div.product{font-family:"Times New Roman",Times,serif;text-align:center;color:#000;}
.single-product .woocommerce-breadcrumb{display:none;}
.em-single-legacy-photo{text-align:center;margin:0 auto;}
.em-single-title{
  margin:0 0 2px;color:#008000;
  font:italic bold 26px Arial,Helvetica,sans-serif;line-height:1.15;
}
.em-photo-back{text-align:center;margin:0 0 2px;color:#ff0000;font:18px "Times New Roman",Times,serif;}
.em-single-photo-link{display:block;text-align:center;color:inherit;text-decoration:none;}
.em-single-photo{display:block;margin:0 auto;max-width:100%;height:auto;}
.single-product div.product .summary{
  float:none !important;width:100% !important;clear:both;margin:6px auto 0 !important;
  text-align:center;font:14px "Times New Roman",Times,serif;color:#000;
}
.em-single-model-price{margin:8px 0 12px;font:14px "Times New Roman",Times,serif;color:#000;line-height:1.2;}
.em-single-model-price span{color:#ff0000;font-size:18px;}
.em-unavailable-notice{
  margin:8px auto 16px;text-align:center;
  font:16px "Times New Roman",Times,serif;line-height:1.25;color:#000;
}
.single-product div.product .stock{font-size:28px;line-height:1.2;text-align:center;}
.single-product div.product .stock.out-of-stock{
  display:inline-block;margin:4px auto 12px;padding:4px 10px;
  border:2px solid #d12920;border-radius:4px;background:#fff3f3;
  color:#d12920;font:bold 15px Arial,Helvetica,sans-serif;text-transform:uppercase;
}
.single-product form.cart{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 6px;
  margin:8px auto 18px;text-align:center;
}
.single-product form.cart .em-product-options{flex:0 0 100%;margin:6px 0 0;}
.single-product form.cart .quantity{display:block;float:none;margin:0;}
.single-product .quantity input.qty{
  width:58px;height:31px;margin:0;padding:2px 4px;border:1px solid #777;border-radius:4px;
  text-align:center;font:14px Arial,Helvetica,sans-serif;box-sizing:border-box;
}
.single-product form.cart .button{
  float:none;margin:0;
}
.em-single-description{margin:10px auto 18px;text-align:center;font:14px "Times New Roman",Times,serif;line-height:1.2;color:#000;}
.em-single-description p{margin:.35em 0;}

/* Shared action-button styling: one raised blue treatment at the product
   Add to Cart button's 31px minimum height. Compact interface controls
   (quantity +/-, column toggles, menu/slider arrows) remain purpose-built. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.em-cart-coupon .button,
.em-cart-actions .button,
.em-cart-remove-confirm .button,
.em-show-all-btn,
.em-why-btn,
.gform_wrapper input[type="submit"],
.gform_wrapper button[type="submit"],
.affwp-form input[type="submit"],
.em-affc .button{
  min-height:31px;padding:4px 12px;border:1px solid #4d637e;border-radius:4px;
  background:linear-gradient(to bottom,#fff 0%,#d9e9f8 24%,#90bdea 75%,#6a97ca 100%);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),0 2px 2px rgba(0,0,0,.3);
  color:#102235;
  font:bold 14px/21px Arial,Helvetica,sans-serif;text-align:center;text-decoration:none;
  cursor:pointer;box-sizing:border-box;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button.alt:hover,
.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus,
.woocommerce #respond input#submit:focus,
.woocommerce .button.alt:focus,
.em-cart-coupon .button:hover,
.em-cart-coupon .button:focus,
.em-cart-actions .button:hover,
.em-cart-actions .button:focus,
.em-cart-remove-confirm .button:hover,
.em-cart-remove-confirm .button:focus,
.em-show-all-btn:hover,
.em-show-all-btn:focus,
.em-why-btn:hover,
.em-why-btn:focus,
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="submit"]:focus,
.gform_wrapper button[type="submit"]:hover,
.gform_wrapper button[type="submit"]:focus,
.affwp-form input[type="submit"]:hover,
.affwp-form input[type="submit"]:focus,
.em-affc .button:hover,
.em-affc .button:focus{
  background:linear-gradient(to bottom,#fff 0%,#e2effa 24%,#a2c8eb 75%,#78a5d3 100%);
  border-color:#344b66;color:#102235;
}
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce #respond input#submit:active,
.woocommerce .button.alt:active,
.em-cart-coupon .button:active,
.em-cart-actions .button:active,
.em-cart-remove-confirm .button:active,
.em-show-all-btn:active,
.em-why-btn:active,
.gform_wrapper input[type="submit"]:active,
.gform_wrapper button[type="submit"]:active,
.affwp-form input[type="submit"]:active,
.em-affc .button:active{
  transform:translateY(1px);
  box-shadow:inset 1px 1px 2px rgba(0,0,0,.2);
}
/* ---------- AffiliateWP forms (login/register/dashboard) ----------
   Field treatment copied from the WooCommerce checkout look the client
   approved: dark 1px border, 6px radius, roomy padding, labels on top,
   text inputs at checkout's ~340px width, textareas full-width. */
.affwp-form input[type="text"],
.affwp-form input[type="email"],
.affwp-form input[type="url"],
.affwp-form input[type="password"],
.affwp-form input[type="number"],
.affwp-form select{
  width:100%;max-width:340px;box-sizing:border-box;
  border:1px solid #202020;border-radius:6px;background:#fff;
  padding:9px 12px;font-size:14px;line-height:1.3;color:#000;
}
.affwp-form textarea{
  width:100%;box-sizing:border-box;
  border:1px solid #202020;border-radius:6px;background:#fff;
  padding:9px 12px;font-size:14px;line-height:1.4;color:#000;
}
.affwp-form input:focus,
.affwp-form textarea:focus,
.affwp-form select:focus{outline:2px solid #4d637e;outline-offset:1px;}
.affwp-form label{display:block;margin:0 0 6px;color:#000;}
.affwp-form p{margin:0 0 16px;}
.affwp-form legend{font-weight:bold;margin-bottom:10px;}
/* "Remember me" keeps its checkbox inline */
.affwp-form label.affwp-user-remember{
  display:flex;align-items:center;gap:6px;margin:0;
}
/* Self-service coupon manager on the Coupons tab */
.em-affc{margin-top:20px;}
.em-affc h4{margin:18px 0 8px;}
.em-affc-delete{
  display:flex;align-items:center;gap:10px;margin:0 0 8px;
}
.em-affc-coupon-label{font-weight:bold;}

/* WooCommerce marks the primary checkout action as an .alt button and its
   core rule forces white text. The client wants this full-width label black. */
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order,
.woocommerce-checkout #place_order,
.woocommerce #payment #place_order:hover,
.woocommerce-page #payment #place_order:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce #payment #place_order:focus,
.woocommerce-page #payment #place_order:focus,
.woocommerce-checkout #place_order:focus,
.woocommerce #payment #place_order:active,
.woocommerce-page #payment #place_order:active,
.woocommerce-checkout #place_order:active{
  color:#000 !important;
}
/* WooCommerce applies the same forced-white .alt text to Add to Cart. */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:focus,
.woocommerce div.product form.cart .single_add_to_cart_button:active{
  color:#000 !important;
}
/* Gravity Forms' theme ships higher-specificity button rules than its generic
   .gform_button class. Reassert the shared raised action style at the footer. */
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button[type="submit"]{
  min-height:31px !important;padding:4px 12px !important;
  border:1px solid #4d637e !important;border-radius:4px !important;
  background:linear-gradient(to bottom,#fff 0%,#d9e9f8 24%,#90bdea 75%,#6a97ca 100%) !important;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),0 2px 2px rgba(0,0,0,.3) !important;
  color:#000 !important;font:bold 14px/21px Arial,Helvetica,sans-serif !important;
  text-align:center;text-decoration:none;cursor:pointer;box-sizing:border-box;
}
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer input[type="submit"]:focus,
.gform_wrapper .gform_footer button[type="submit"]:hover,
.gform_wrapper .gform_footer button[type="submit"]:focus{
  background:linear-gradient(to bottom,#fff 0%,#e2effa 24%,#a2c8eb 75%,#78a5d3 100%) !important;
  border-color:#344b66 !important;color:#000 !important;
}
.gform_wrapper .gform_footer input[type="submit"]:active,
.gform_wrapper .gform_footer button[type="submit"]:active{
  transform:translateY(1px);
  box-shadow:inset 1px 1px 2px rgba(0,0,0,.2) !important;
}
.em-product-options{margin:12px 0;text-align:center;font:14px "Times New Roman",Times,serif;color:#000;}
.em-product-option{margin:6px 0;}
.em-product-option label{font-weight:normal;}
.em-product-option select{
  height:31px;max-width:260px;padding:2px 34px 2px 12px;
  -webkit-appearance:none;appearance:none;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;
  font:14px Arial,Helvetica,sans-serif;vertical-align:middle;
}
.em-product-option select.em-option-invalid{border:2px solid #d12920;background:#fff6f6;outline:0;}
.em-product-option-note{font-size:14px;color:#000;}

/* Product recommendations */
.single-product .related.products,
.single-product .upsells.products{
  clear:both;margin:20px auto 10px;text-align:center;
}
.single-product .related.products h2,
.single-product .upsells.products h2{
  margin:10px 0;color:#000;font:bold 22px "Times New Roman",Times,serif;
}
.single-product .related.products ul.products,
.single-product .upsells.products ul.products{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;padding:4px 6px;border:0;background:transparent;
}
.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product{
  padding:8px;
}
.em-related-carousel-wrap{position:relative;}
.em-related-arrow{display:none;}

/* Legacy cart table */
.woocommerce-cart .entry-title{display:none;}
.em-legacy-cart{
  width:100%;margin:0 auto 20px;padding:0 6px 10px;
  font-family:"Times New Roman",Times,serif;color:#000;text-align:left;
}
.em-cart-title{
  margin:2px 0 0;text-align:center;color:#49619D;
  font:bold 18px Arial,Helvetica,sans-serif;line-height:1.2;
}
.em-cart-divider{
  position:relative;margin:0 54px 8px;height:14px;border-bottom:1px solid #999;text-align:left;
}
.em-cart-divider span{
  position:absolute;left:0;bottom:-8px;width:28px;height:16px;
  color:#49619D;font:bold 18px/16px "Times New Roman",Times,serif;text-align:center;background:#fff;
}
.em-legacy-cart-table{
  width:100%;border-collapse:collapse;border-spacing:0;
  font:14px "Times New Roman",Times,serif;color:#000;
}
.em-legacy-cart-table th{
  padding:8px 7px;border-top:1px solid #c8c8c8;border-bottom:1px solid #c8c8c8;
  background:#efefef;font-weight:normal;text-align:left;
}
.em-legacy-cart-table td{
  padding:8px 7px;vertical-align:top;border-bottom:1px solid #cfcfcf;
}
.em-cart-col-name{width:45%;}
.em-cart-col-price,.em-cart-price{width:12%;text-align:right;}
.em-cart-col-qty,.em-cart-qty{width:21%;text-align:center;}
.em-cart-col-remove,.em-cart-remove{width:11%;text-align:center;}
.em-cart-col-total,.em-cart-line-total{width:11%;text-align:right;}
.em-cart-product-name{line-height:1.05;}
.em-cart-product-name a{color:#000;text-decoration:none;}
.em-cart-product-meta{margin:0 0 8px;line-height:1.05;}
.em-cart-product-image-link{display:inline-block;margin:6px 0 0;color:inherit;text-decoration:none;}
.em-cart-product-image{
  display:block;width:150px;max-width:100%;height:auto;margin:2px 0 0 28px;
}
.em-cart-qty input{
  width:30px;height:22px;padding:1px 2px;border:1px solid #777;
  font:14px Arial,Helvetica,sans-serif;text-align:center;background:#fff;
}
.em-cart-qty-step{
  width:18px;height:22px;padding:0;border:1px solid #777;border-radius:2px;
  background:#efefef;color:#000;font:bold 14px/18px Arial,Helvetica,sans-serif;
  text-align:center;cursor:pointer;
}
.em-cart-qty-step:hover{background:#ddd;}
.em-cart-qty-controls{
  display:flex;align-items:center;justify-content:center;gap:3px;
  white-space:nowrap;
}
.em-cart-remove-link{
  border:0;background:transparent;color:#0645ad;
  font:13px Arial,Helvetica,sans-serif;text-decoration:underline;cursor:pointer;
}
.em-cart-remove-link:hover{color:#b00000;}
.em-cart-remove-link[hidden]{display:none;}
.em-legacy-cart-form.em-cart-updating{opacity:.72;pointer-events:none;}
.em-cart-remove-confirm{
  margin:4px -8px 0;font:12px Arial,Helvetica,sans-serif;line-height:1.25;text-align:center;
}
.em-cart-remove-confirm span{display:block;margin:0 0 3px;color:#b00000;font-weight:bold;}
.em-cart-remove-confirm[hidden]{display:none;}
.em-cart-coupon-row td{border-bottom:0;padding-top:10px;padding-bottom:2px;}
.em-cart-coupon label{margin-right:4px;}
.em-cart-coupon input{
  width:116px;height:31px;margin:0 4px 0 0;padding:2px 4px;
  border:1px solid #777;border-radius:4px;font:14px Arial,Helvetica,sans-serif;text-align:left;
  box-sizing:border-box;
}
.em-cart-coupon input.em-field-error{
  border:2px solid #b00000;background:#fff7f7;
}
.em-cart-coupon-error{
  display:block;margin:5px 0 0 53px;color:#b00000;
  font:bold 14px/1.2 Arial,Helvetica,sans-serif;
}
.em-cart-coupon-error[hidden]{display:none;}
.woocommerce-error,
.woocommerce-message,
.woocommerce-info{
  font-size:18px;line-height:1.3;
}
.em-cart-discount{text-align:right;}
.em-cart-subtotal-row td,.em-cart-shipping-row td,.em-cart-total-row td{
  border-bottom:0;padding-top:3px;padding-bottom:3px;text-align:right;
}
.em-cart-total-row td{font-weight:bold;}
.em-cart-actions{margin:12px 0 0;text-align:right;font-family:Arial,Helvetica,sans-serif;}
.em-cart-actions .checkout-button{
  display:inline-block;margin-left:8px;
}

/* Free shipping / gift box badges */
.em-badges{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:10px 0;}
.em-badges img{display:inline-block;}

/* Clasp close-up: the old Flash ImageViewer, rebuilt from its own source photos */
.em-clasp{position:relative;width:115px;height:130px;border:2px solid #333;background:#fff;overflow:hidden;}
.em-clasp--right{float:right;margin:0 0 10px 14px;}
.em-clasp--left{float:left;margin:0 14px 10px 0;}
.em-clasp--center{margin:10px auto;}
.em-clasp img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;animation:em-clasp-fade 9s infinite;}
.em-clasp img:nth-child(1){animation-delay:0s;}
.em-clasp img:nth-child(2){animation-delay:3s;}
.em-clasp img:nth-child(3){animation-delay:6s;}
/* Starts AND ends opaque: the first frame has to be visible, or the box paints
   blank until the first image fades in. Images 2 and 3 stay at the element's own
   opacity:0 until their delay elapses. */
@keyframes em-clasp-fade{0%,28%{opacity:1}36%,92%{opacity:0}100%{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .em-clasp img{animation:none;opacity:0;}
  .em-clasp img:nth-child(1){opacity:1;}
}

/* Anchor target for "back to the products" links inside the long write-ups */
.em-products-anchor{scroll-margin-top:12px;}

/* The long article a few categories carry under the grid */
.em-cat-below{margin-top:22px;padding-top:14px;border-top:1px solid #dcdcdc;font-size:14px;line-height:1.6;text-align:center;}
.em-cat-below .em-subcats{text-align:center;}
.em-cat-below h2,.em-cat-below h3{font-family:"Times New Roman",Times,serif;color:#006600;margin:1em 0 .3em;}
.em-cat-below img{height:auto;}
.em-legacy-banner{text-align:center;margin:10px 0;}
.em-legacy-banner img{display:inline-block;max-width:100%;height:auto;}
.em-cat-below .style7{color:#006600;font-weight:bold;text-align:center;}
.em-cat-below .greentextcolor{color:#006600;}
.em-product-category-below{clear:both;margin:18px 0 8px;text-align:center;}
.em-product-category-below img{display:inline-block;max-width:100%;height:auto;}

@media (max-width:600px){
  .em-cat-intro .em-clasp{display:none;}
  .em-clasp--right,.em-clasp--left{float:none;margin:10px auto;}
  .em-home-click{font-size:30px;}
  /* Fixed at 3 columns, no toggle (client request 2026-10-01, changed from 1) */
  .em-home-grid{grid-template-columns:repeat(3,1fr);}
  .em-home-tile:nth-child(n+4){border-top:1px solid #d6d6d6;padding-top:12px;margin-top:10px;}
  /* The desktop layout groups wide necklace tiles in two-item rows. On
     mobile, dissolve those wrapper boxes into the parent grid so the wide
     tiles continue the same three-column directory used above them. */
  .em-home-wide-row{display:contents;}
  .em-home-wide-tile{
    min-width:0;border-top:1px solid #d6d6d6;
    padding-top:12px;margin-top:10px;
  }
  .em-cat-intro .text2,.em-cat-below .text2{font-size:30px;}
  .em-subcats{font-size:13px;}
  .em-click-note{font-size:16px;}
  ul.products,
  ul.products.columns-1,
  ul.products.columns-2,
  ul.products.columns-3,
  ul.products.columns-4,
  ul.products.columns-5,
  ul.products.columns-6{grid-template-columns:repeat(3,minmax(0,1fr));}
  /* Column toggle (assets/js/product-columns.js) overrides the default above */
  ul.products.em-cols-1{grid-template-columns:repeat(1,minmax(0,1fr)) !important;}
  ul.products.em-cols-2{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  ul.products.em-cols-3{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}

  .em-col-toggle{
    display:flex;align-items:center;justify-content:center;gap:6px;
    clear:both;margin:0 0 8px;
  }
  .em-col-toggle-label{font:13px Arial,Helvetica,sans-serif;color:#555;}
  .em-col-btn{
    display:inline-block;min-width:24px;padding:3px 9px;
    border:1px solid #777;border-radius:2px;background:#eee;
    color:#000;font:bold 13px Arial,Helvetica,sans-serif;line-height:1.3;
    box-shadow:inset 1px 1px 0 #fff,inset -1px -1px 0 #bbb;
  }
  .em-col-btn[aria-pressed="true"]{
    background:var(--em-green);border-color:var(--em-green);color:#fff;box-shadow:none;
  }
  .single-product form.cart{flex-wrap:wrap;gap:8px 6px;}
  .single-product form.cart .em-product-options{flex:0 0 100%;margin:6px 0 0;}
  .single-product form.cart .em-product-option{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 5px;margin:0;}
  .single-product form.cart .em-product-option label{flex:0 0 100%;text-align:center;}
  .single-product form.cart .em-product-option-note{flex:0 0 100%;text-align:center;line-height:1.15;}
  .single-product .related.products,
  .single-product .upsells.products{margin-top:18px;}
  .single-product .related.products h2,
  .single-product .upsells.products h2{font-size:22px;}
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products,
  .single-product .related.products ul.products.columns-1,
  .single-product .related.products ul.products.columns-2,
  .single-product .related.products ul.products.columns-3,
  .single-product .related.products ul.products.columns-4,
  .single-product .upsells.products ul.products.columns-1,
  .single-product .upsells.products ul.products.columns-2,
  .single-product .upsells.products ul.products.columns-3,
  .single-product .upsells.products ul.products.columns-4{
    display:flex;grid-template-columns:none;gap:8px;
    overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
    padding:0 36px 10px;touch-action:pan-x;
  }
  .single-product .related.products ul.products::-webkit-scrollbar,
  .single-product .upsells.products ul.products::-webkit-scrollbar{display:none;}
  .single-product .related.products ul.products li.product,
  .single-product .upsells.products ul.products li.product{
    flex:0 0 44%;width:auto !important;min-width:138px;margin:0 !important;
  }
  .em-related-arrow{
    display:flex;align-items:center;justify-content:center;
    position:absolute;top:50%;z-index:3;transform:translateY(-50%);
    width:30px;height:54px;border:1px solid #bdbdbd;border-radius:4px;
    background:rgba(255,255,255,.95);color:var(--em-green);
    font:bold 34px/1 Georgia,"Times New Roman",Times,serif;cursor:pointer;
  }
  .em-related-arrow--prev{left:1px;}
  .em-related-arrow--next{right:1px;}
  .em-related-arrow:disabled{
    color:#aaa;border-color:#d7d7d7;background:rgba(245,245,245,.85);
    opacity:.55;cursor:default;
  }
}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .em-container{width:100%;border-left:0;border-right:0;}
}

/* Stack the three columns. Content first; the category menu collapses to a grid
   of tappable category tiles (subcategories stay reachable from each archive),
   and the 17 book covers become a horizontal strip instead of a huge stack.   */
@media (max-width:860px){
  .em-layout{flex-direction:column;padding-right:0;background:var(--em-white);}
  .em-banner{padding-right:12px;}
  .em-col--left,.em-col--right{width:100%;padding:0;}
  /* Back into the flow once the columns stack. */
  .em-col--right{position:static;max-height:none;overflow:visible;}
  .em-main{order:1;}
  .em-col--left{order:2;display:none;}
  .em-col--right{order:3;}

  /* Shop categories, repeated near the bottom of the stacked mobile layout
     (above Books) — an identical second .em-mobile-shopbar + .em-mobile-category-menu
     pair, so it looks and behaves exactly like the one in the header. */
  .em-mobile-cats-bottom{
    display:block;order:2;width:100%;padding:10px 0 4px;
    border-top:2px solid #d6d6d6;
  }
  .em-mobile-cats-bottom .em-mobile-shopbar{margin-top:0;}

  .em-mobile-shopbar{
    display:flex;align-items:stretch;gap:8px;
    width:calc(100% - 16px);margin:8px auto;
  }
  .em-mobile-menu-toggle{
    display:flex;align-items:center;justify-content:center;gap:5px;
    flex:1 1 auto;width:auto;height:28px;margin:0;padding:0 4px;
    border:1px solid #3f6b3f;border-radius:3px;
    background:linear-gradient(to bottom,#fff 0%,#d9f0d9 24%,#90c590 75%,#579657 100%);
    box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),1px 1px 1px rgba(0,0,0,.35);
    color:#102b18;font:bold 15px/26px Arial,Helvetica,sans-serif;
    white-space:nowrap;cursor:pointer;
  }
  .em-mobile-menu-toggle:hover{
    background:linear-gradient(to bottom,#fff 0%,#e3f4e3 24%,#a4d0a4 75%,#6fa66f 100%);
    border-color:#2f562f;color:#102b18;
  }
  .em-mobile-cart-shortcut{
    display:flex;align-items:center;justify-content:center;flex:0 0 124px;
  }
  .em-mobile-cart-shortcut .em-cart-label{display:inline;white-space:nowrap;}
  .em-mobile-menu-icon{
    display:block;position:relative;flex:0 0 17px;
    width:17px;height:14px;font-size:0;line-height:0;
  }
  .em-mobile-menu-icon::before{
    content:"";position:absolute;top:1px;left:0;
    width:17px;height:2px;border-radius:2px;background:currentColor;
    box-shadow:0 5px 0 currentColor,0 10px 0 currentColor;
  }
  .em-mobile-category-menu.is-open{display:block;padding:0 8px 8px;background:var(--em-surface);}
  .em-mobile-category-menu .em-cat-list{display:none;}
  .em-mobile-category-menu .em-cat-head a::after{content:"";display:none;}
  .em-mobile-category-menu .em-cat-head + .em-cat-list{grid-column:1 / -1;margin:-4px 0 2px;padding:4px 8px 8px;background:#fff;border:1px solid #d0d0d0;border-top:0;}
  .em-mobile-category-menu .em-cat-head.is-open + .em-cat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;}
  .em-mobile-category-menu .em-cat-head.has-children.is-open a::after{content:" ▲";display:inline;font-size:11px;}
  .em-mobile-category-menu .em-cat-head.has-children:not(.is-open) a::after{content:" ▼";display:inline;font-size:11px;}
  .em-mobile-category-menu .em-cat-list li{border-bottom:1px dotted #bdbdbd;}
  .em-mobile-category-menu .em-cat-list li a{font-size:13px;padding:5px 4px 5px 16px;}
  .em-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;padding:8px;}
  .em-cat-head{margin:0;border-radius:3px;text-align:center;padding:9px 6px;}
  .em-mobile-category-menu .em-cat-head a{font-size:14px;}

  .em-cart-wrap{padding:10px;}
  .em-search{max-width:420px;margin:0 auto;}
  .em-promos{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
  .em-promos img{margin:0;}

  .em-books{
    flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:10px;
    overflow-x:auto;overflow-y:hidden;scroll-behavior:auto;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
    padding:0 34px 12px;touch-action:pan-x;
  }
  .em-books::-webkit-scrollbar{display:none;}
  .em-books a,.em-books > img,.em-books-clone a,.em-books-clone > img{flex:0 0 calc(((100vw - 120px) / 4) * 1.2);}
  .em-books img{width:100%;height:auto;display:block;}
  .em-books-clone{display:contents;}
  .em-books-arrow{
    display:flex;align-items:center;justify-content:center;
    position:absolute;top:50%;z-index:3;transform:translateY(-50%);
    width:28px;height:48px;border:1px solid #bdbdbd;border-radius:4px;
    background:rgba(255,255,255,.94);color:var(--em-green);
    font:bold 34px/1 Georgia,"Times New Roman",Times,serif;cursor:pointer;
  }
  .em-books-arrow--prev{left:2px;}
  .em-books-arrow--next{right:2px;}
}

@media (max-width:600px){
  .em-topbar{font-size:13px;padding:7px 8px;}
  .em-banner-picture{overflow:hidden;}
  .em-banner-picture .em-banner-img{clip-path:inset(0 1px 0 0);}
  .em-nav{padding:6px 8px;}
  .em-menu{gap:.1rem .25rem;flex-wrap:nowrap;}
  .em-nav--primary .em-menu{
    width:100%;max-width:500px;margin:0 auto;
    justify-content:space-between;gap:0;
  }
  .em-nav--primary .em-menu li{display:contents;}
  .em-nav--footer .em-menu{
    width:100%;max-width:500px;margin:0 auto;
    flex-wrap:wrap;justify-content:space-between;gap:0;
  }
  .em-menu li + li::before{margin-right:.25rem;}
  .em-nav--primary .em-menu li + li::before{margin-right:0;}
  .em-nav a{font-size:13px;padding:2px 2px;white-space:nowrap;}
  .em-nav--primary a,.em-nav--footer a{font-size:14px;}
  .em-nav--footer .em-menu li:last-child{
    flex:0 0 100%;justify-content:center;margin-top:4px;
  }
  .em-nav--footer .em-menu li:last-child::before{content:none;margin-right:0;}
  .em-nav-full{display:none;}
  .em-nav-short{display:inline;}
  .em-home-icon{display:inline-block;width:24px;height:24px;vertical-align:-6px;}
  .woocommerce-result-count,.woocommerce-ordering,.em-show-all-wrap--top{
    display:block;width:auto;float:none !important;margin:0 0 6px;text-align:center;
  }
  .em-show-all-wrap--top{clear:both;margin:6px 0 10px;}
  .woocommerce-ordering select.orderby{
    width:100%;max-width:320px;height:44px;padding:8px 34px 8px 12px;
    font-size:16px;border:1px solid #999;border-radius:3px;
  }
  .em-main{padding:12px;}
  .em-seals img{height:36px;}
  .em-legacy-cart{padding:0;overflow-x:visible;}
  .em-legacy-cart-table,
  .em-legacy-cart-table thead,
  .em-legacy-cart-table tbody,
  .em-legacy-cart-table tfoot{display:block;width:100%;min-width:0;}
  .em-legacy-cart-table thead tr{display:grid;grid-template-columns:minmax(0,1fr) auto;}
  .em-legacy-cart-table thead th{display:none;}
  .em-legacy-cart-table thead .em-cart-col-name,
  .em-legacy-cart-table thead .em-cart-col-price{display:block;width:auto;}
  .em-legacy-cart-table tr.em-cart-item{
    display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;
    padding:8px 0;border-bottom:1px solid #cfcfcf;
  }
  .em-legacy-cart-table tr.em-cart-item td{display:block;border-bottom:0;padding:4px 6px;width:auto;}
  .em-cart-name{display:contents;min-width:0;}
  .em-cart-product-name,
  .em-cart-product-meta{grid-column:1 / -1;padding:0 6px;}
  .em-cart-product-image-link{grid-column:1 / 2;grid-row:3 / 6;align-self:start;}
  .em-cart-price{grid-column:2 / 3;white-space:nowrap;text-align:right;}
  .em-cart-qty,.em-cart-remove{
    grid-column:2 / 3;display:flex !important;align-items:baseline;
    justify-content:flex-end;gap:4px;text-align:right;white-space:nowrap;
  }
  .em-cart-qty{flex-wrap:wrap;}
  .em-cart-remove{flex-wrap:wrap;}
  .em-cart-remove-confirm{flex:0 0 100%;margin:3px 0 0;text-align:right;}
  .em-cart-remove-confirm span{display:inline;margin:0 4px 0 0;}
  .em-cart-qty{align-self:end;}
  .em-cart-line-total{grid-column:2 / 3;text-align:right;white-space:nowrap;}
  .em-cart-qty::before{content:"Quantity: ";font-weight:bold;}
  .em-cart-remove::before{content:"Remove: ";font-weight:bold;}
  .em-cart-line-total::before{content:"Total: ";font-weight:bold;}
  .em-cart-product-image{width:125px;margin:8px 0 0;}
  .em-cart-coupon-row,
  .em-cart-subtotal-row,
  .em-cart-shipping-row,
  .em-cart-total-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;}
  .em-legacy-cart-table tfoot,
  .em-legacy-cart-table tfoot tr,
  .em-legacy-cart-table tfoot td{border:0 !important;}
  .em-cart-coupon-row td,
  .em-cart-subtotal-row td,
  .em-cart-shipping-row td,
  .em-cart-total-row td{display:block;width:auto;border-bottom:0;}
  .em-cart-coupon-row{display:block;margin:4px 0 0;text-align:center;}
  .em-cart-coupon{
    grid-column:1 / -1;display:flex !important;flex-wrap:wrap;
    justify-content:center;align-items:center;gap:4px;text-align:center;
    padding-top:4px !important;padding-bottom:0 !important;
  }
  .em-cart-coupon label{margin:0;}
  .em-cart-coupon input{margin:0;}
  .em-cart-discount{grid-column:2 / 3;}
  .em-cart-actions{
    display:flex;justify-content:flex-end;align-items:center;gap:10px;
    margin:4px 0 0;text-align:right;
  }
  .em-cart-actions .checkout-button{margin-left:0;}
  .em-cart-divider{margin-left:34px;margin-right:34px;}
}

/* The legacy instruction sheets are wide fixed-size graphics; let them shrink on
   a phone instead of forcing a horizontal scroll. */
.em-tool-figure{margin:0 0 14px;text-align:center;}
.em-tool-figure img{max-width:100%;height:auto;}

/* "Worn four ways" strip on the Magnetic Lariats category: cropped out of the
   legacy brochure scan, which could not be reused whole because it carries the
   Magnet Giant logo, a magnetgiant.com URL badge and that brand's phone numbers. */
.em-lariat-worn{float:right;margin:0 0 10px 16px;max-width:163px;}
.em-lariat-worn img{width:100%;height:auto;display:block;}
@media (max-width:600px){
  .em-lariat-worn{float:none;margin:10px auto;}
}


/* ---------- Affiliate Area tabs + creatives ----------
   Tab row copies the site's raised blue action-button look (same recipe as
   Mac Daddy's dashboard tabs, in this site's colours). Wraps instead of
   scrolling so every tab is visible on phones. */
#affwp-affiliate-dashboard-tabs{
  display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0 0 22px;padding:0;
  border-bottom:3px solid #4d637e;
}
#affwp-affiliate-dashboard-tabs li{margin:0;padding:0;list-style:none;}
#affwp-affiliate-dashboard-tabs li a{
  display:block;padding:6px 14px;border:1px solid #4d637e;border-bottom:0;
  border-radius:4px 4px 0 0;
  background:linear-gradient(to bottom,#fff 0%,#d9e9f8 24%,#90bdea 75%,#6a97ca 100%);
  color:#102235;font:bold 14px/21px Arial,Helvetica,sans-serif;text-decoration:none;
  white-space:nowrap;
}
#affwp-affiliate-dashboard-tabs li a:hover,
#affwp-affiliate-dashboard-tabs li a:focus{
  background:linear-gradient(to bottom,#fff 0%,#e2effa 24%,#a2c8eb 75%,#78a5d3 100%);
}
#affwp-affiliate-dashboard-tabs li.active a{
  background:#4d637e;color:#fff;
}
/* Creatives: show each image at a sensible size with its link text below */
.affwp-creatives-table img,
#affwp-affiliate-dashboard-creatives img{max-width:100%;height:auto;}
.affwp-creatives-table-row{border-bottom:1px solid #c9d4e0;padding:10px 0;}

/* Checkout: "Loading payment options" filler held while Stripe/PayPal buttons load. */
#em-pay-loading{display:flex;align-items:center;justify-content:center;gap:10px;overflow:hidden;color:#555;font-size:15px;}
.em-pay-loading__spin{width:20px;height:20px;border:3px solid #cfd8e3;border-top-color:#1a5fb4;border-radius:50%;animation:em-pay-spin .8s linear infinite;flex:none;}
@keyframes em-pay-spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.em-pay-loading__spin{animation-duration:2.4s;}}
/* While the spinner is up, cap the button groups at their settled height so
   Stripe's transient oversized render cannot push the form down. */
body:has(#em-pay-loading) #wc-stripe-express-checkout-element{max-height:106px;overflow:hidden;}

/* Checkout: top-of-form shortcut to the PayPal/Venmo payment option. */
#em-paypal-hint{display:block;width:100%;box-sizing:border-box;height:48px;margin:0 0 10px;padding:0 12px;border:0;border-radius:4px;background:#ffc439;color:#003087;font-size:16px;line-height:48px;text-align:center;cursor:pointer;}
#em-paypal-hint:hover,#em-paypal-hint:focus{background:#f2ba36;}
#em-paypal-hint strong{font-weight:700;}

/* Header "Affiliate Program" link is desktop only; the pipe before it lives on
   the li, so hiding the li hides both. */
@media (max-width:860px){
  .em-nav--primary .em-menu li.em-nav-affiliate{display:none;}
}

/* Terms checkbox on the affiliate registration form: box and label on one line */
.affwp-form p:has(> input[type="checkbox"]){display:flex;align-items:flex-start;gap:8px;}
.affwp-form p:has(> input[type="checkbox"]) label{margin:0;}
.affwp-form p:has(> input[type="checkbox"]) input{margin-top:4px;}
/* Plain content pages (affiliate terms): readable list spacing */
body.page-template-default .entry-content ul{margin:0 0 16px 22px;}
body.page-template-default .entry-content li{margin:0 0 6px;}
body.page-template-default .entry-content h2{margin:22px 0 8px;}

/* Affiliate Help Center (FAQ accordion) */
.em-help-intro{margin:0 0 14px;}
.em-help-item{border:1px solid #c9d4e0;border-radius:4px;margin:0 0 8px;background:#fff;}
.em-help-item summary{cursor:pointer;padding:9px 12px;font:bold 15px/1.3 Arial,Helvetica,sans-serif;color:#102235;list-style-position:inside;}
.em-help-item[open] summary{border-bottom:1px solid #c9d4e0;background:#eef3f8;}
.em-help-answer{padding:4px 14px 8px;}
.em-help-answer p{margin:8px 0;}
.em-help-buttons{margin-top:12px;}
.em-help-btn{
  display:inline-block;margin:0 6px 6px 0;min-height:31px;padding:4px 14px;border:1px solid #4d637e;border-radius:4px;
  background:linear-gradient(to bottom,#fff 0%,#d9e9f8 24%,#90bdea 75%,#6a97ca 100%);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),0 2px 2px rgba(0,0,0,.3);
  color:#102235;font:bold 14px/21px Arial,Helvetica,sans-serif;text-decoration:none;box-sizing:border-box;
}
.em-help-btn:hover,.em-help-btn:focus{background:linear-gradient(to bottom,#fff 0%,#e2effa 24%,#a2c8eb 75%,#78a5d3 100%);border-color:#344b66;color:#102235;}
.em-help-answer ol,.em-help-answer ul{margin:8px 0 8px 22px;}
.em-help-answer li{margin:0 0 6px;}

/* Affiliate URLs tab: referral-link box matches the Page URL field below it
   (checkout-style field, 340px) and Copy Link uses the shared blue button. */
.affwp-affiliate-link__display{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.affwp-affiliate-link__display input.affwp-affiliate-link__input,
.affwp-affiliate-link__display input[type="text"]{
  width:100%;max-width:340px;flex:0 1 340px;box-sizing:border-box;margin:0;
  border:1px solid #202020;border-radius:6px;background:#fff;
  padding:9px 12px;font-size:14px;line-height:1.3;color:#000;
}
.affwp-affiliate-link__display .affwp-affiliate-link-copy-link{
  min-height:31px;padding:4px 14px;border:1px solid #4d637e;border-radius:4px;margin:0;
  background:linear-gradient(to bottom,#fff 0%,#d9e9f8 24%,#90bdea 75%,#6a97ca 100%);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),0 2px 2px rgba(0,0,0,.3);
  color:#102235;font:bold 14px/21px Arial,Helvetica,sans-serif;cursor:pointer;box-sizing:border-box;
}
.affwp-affiliate-link__display .affwp-affiliate-link-copy-link:hover{
  background:linear-gradient(to bottom,#fff 0%,#e2effa 24%,#a2c8eb 75%,#78a5d3 100%);border-color:#344b66;
}

/* Creatives list: "View Details" is always visible (the plugin only shows it
   on row hover, over the date) and replaces the Last Updated date. */
.affwp-creative-last-updated{display:none !important;}
.affwp-creatives-item-actions button.affwp-creatives-list-action{
  visibility:visible !important;opacity:1 !important;position:relative;
  min-height:31px;padding:4px 14px;border:1px solid #4d637e;border-radius:4px;
  background:linear-gradient(to bottom,#fff 0%,#d9e9f8 24%,#90bdea 75%,#6a97ca 100%);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),0 2px 2px rgba(0,0,0,.3);
  color:#102235;font:bold 14px/21px Arial,Helvetica,sans-serif;cursor:pointer;box-sizing:border-box;
}
.affwp-creatives-item-actions button.affwp-creatives-list-action:hover{
  background:linear-gradient(to bottom,#fff 0%,#e2effa 24%,#a2c8eb 75%,#78a5d3 100%);border-color:#344b66;
}
@media (min-width:768px){
  .affwp-creatives-item-actions{align-items:center;padding-right:8px;}
}

/* ---------- My Account ----------
   Menu items use the same blue raised buttons as the affiliate tabs; the page
   you are on is slate blue, like the active tab. */
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 20px;padding:0;}
.woocommerce-MyAccount-navigation li{margin:0 0 6px;padding:0;list-style:none;}
.woocommerce-MyAccount-navigation li a{
  display:block;min-height:31px;padding:4px 14px;border:1px solid #4d637e;border-radius:4px;
  background:linear-gradient(to bottom,#fff 0%,#d9e9f8 24%,#90bdea 75%,#6a97ca 100%);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),0 2px 2px rgba(0,0,0,.3);
  color:#102235;font:bold 14px/21px Arial,Helvetica,sans-serif;text-align:center;text-decoration:none;box-sizing:border-box;
}
.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li a:focus{
  background:linear-gradient(to bottom,#fff 0%,#e2effa 24%,#a2c8eb 75%,#78a5d3 100%);border-color:#344b66;color:#102235;
}
.woocommerce-MyAccount-navigation li.is-active a{background:#4d637e;color:#fff;box-shadow:none;}
/* Order and download tables */
.woocommerce-MyAccount-content table.shop_table{border:1px solid #c9d4e0;border-collapse:collapse;width:100%;}
.woocommerce-MyAccount-content table.shop_table th{background:#eef3f8;color:#102235;text-align:left;}
.woocommerce-MyAccount-content table.shop_table th,
.woocommerce-MyAccount-content table.shop_table td{padding:8px 10px;border-bottom:1px solid #c9d4e0;}
.woocommerce-MyAccount-content .woocommerce-button,
.woocommerce-MyAccount-content a.button,
.woocommerce-MyAccount-content button.button{margin:2px 4px 2px 0;}

/* Free-shipping progress bar (cart + top of checkout) */
.em-fs-bar{margin:0 0 16px;padding:10px 12px 12px;border:1px solid #d8e6d8;background:#f6fbf6;text-align:center;}
.em-fs-bar__msg{font-size:14px;line-height:1.35;margin:0 0 8px;color:#222;}
.em-fs-bar__track{height:8px;background:#e3e3e3;border-radius:4px;overflow:hidden;}
.em-fs-bar__track span{display:block;height:100%;background:#3dba5c;border-radius:4px;transition:width .3s ease;}
.em-fs-bar.is-free .em-fs-bar__track span{background:#2a9d49;}

/* Cart: shipping choices, styled like the checkout "Shipment options" list */
.em-cart-shipping-choice-row td{text-align:right;border-bottom:0;padding:10px 7px 4px;}
.em-cart-shipping-choice-title{padding-bottom:8px;border-bottom:1px solid #d3d3d3;font-weight:bold;text-align:right;}
body .em-legacy-cart ul.em-cart-shipping-choices{list-style:none;margin:0 0 0 auto;padding:10px 0 0;width:340px;max-width:100%;text-align:left;}
.em-cart-shipping-choices li{margin:0 0 7px;line-height:1.35;}
.em-cart-shipping-choices label{display:grid;grid-template-columns:auto 1fr auto;column-gap:8px;align-items:baseline;font-weight:bold;cursor:pointer;}
.em-cart-shipping-choices .em-ship-cost{text-align:right;white-space:nowrap;}
.em-cart-shipping-choices input{margin:0;}
.em-cart-shipping-choices input:not(:checked) ~ .em-ship-cost{color:#999;}
@media (max-width:720px){
  .em-cart-shipping-choice-row{display:block;}
  .em-cart-shipping-choice-row td{display:block;width:auto;}
}

/* Checkout: shipping options as table rows, prices in the amount column */
.woocommerce-checkout-review-order-table tr.em-shipping-heading td{padding-bottom:0;}
.woocommerce-checkout-review-order-table tr.em-shipping-option th,
.woocommerce-checkout-review-order-table tr.em-shipping-option td{border-top:0;padding-top:7px;padding-bottom:7px;}
.woocommerce-checkout-review-order-table tr.em-shipping-option th label{display:inline;margin-left:6px;font-weight:bold;cursor:pointer;}
.woocommerce-checkout-review-order-table tr.em-shipping-option td label{cursor:pointer;}
.woocommerce-checkout-review-order-table tr.em-shipping-option input{margin:0;vertical-align:middle;}
@media (min-width:721px){
  .woocommerce-checkout-review-order-table tr.em-shipping-option th{padding-left:clamp(14px,22%,150px);}
}
/* Checkout: gray the price of shipping options that are not selected */
.woocommerce-checkout-review-order-table tr.em-shipping-option:has(input:not(:checked)) td strong{color:#999;}
