.temporary-closed {
  color: white;
  font-size: 16px;
  text-align: center;
  background: linear-gradient(90deg, transparent, #900, transparent);
  padding: 20px;
}

.front-last-day {
  text-align: center;
  font-size: calc(2vw + 10px);
}

.menu-last-day {
  text-align: center;
  background: #1e4572;
  color: white;
  padding: 3px 0 5px 0;
}

.lastdaynotice,
.lastdaynoticemenu {
  text-align: center;
  font-weight: bold;
  padding-top: 10px;
}

.lastdaynotice {
  background: #033767;
  padding: 30px 0 10px 0;
}

/* ==========================================================================
   2. Structural Layout Blocks (Headers, Areas, Footers)
   ========================================================================== */

#preface-area,
#block-useraccountmenu-2 h2,
#main-bottom-area,
#primary th {
  background: #0c3b57;
  color: white;
}

#messages-block {
  background: green;
  text-align: center;
  color: white;
  font-size: 16px;
}

#header-block {
  display: block;
  background: black;
  margin: 0 auto;
}

#block-ps-content {
  clear: both;
  padding: 0 10px;
  max-width: 1300px;
  margin: 0 auto 40px auto;
  text-align: justify;
}

#block-ps-content h1 {
  font-size: 6vw;
  color: slategrey;
  font-weight: inherit;
  margin: 20px 0 0 0; /* Fixed: Removed viewport calculation collision to protect small phone screens */
  padding: 0;
  display: inline-block;
}

#block-ps-page-title h1 span {
  font-family: 'Poiret One' !important;
  font-size: 0.90em;
  text-align: center;
  padding: 10px 0;
}

/* ==========================================================================
   3. Article & Typography Styles
   ========================================================================== */

.article-header {
  font-family: 'Titillium Web', sans-serif;
  font-size: 1.857em;
  font-variant: all-petite-caps;
  line-height: 1.1em;
  margin-bottom: 20px;
}

.top-block {
  font-size: 1em;
  margin: auto;
  text-align: center;
  height: 40px;
  background: white;
}

.top-block #block-cart,
.top-block a,
.top-block a:link,
.top-block a:visited {
  color: inherit;
  font-size: inherit;
  display: inline-block;
  vertical-align: top;
}

/* ==========================================================================
   4. User Accounts, Forms, & Checkout
   ========================================================================== */

#block-paywith-2 {
  margin-top: 20px;
  width: 100%;
  margin-bottom: 20px;
  border: 1px solid black;
  padding: 10px;
}

#block-ps-loginmessage {
  font-weight: 700;
  margin: auto;
  max-width: 500px;
}

div[role="alert"] {
  background: #7d0000;
  color: white;
  font-weight: bold;
  text-align: center;
  padding: 10px 0 2px 0;
}

#block-ps-checkoutnoticereturningcustomers {
  float: right;
  border: 1px solid black;
  padding: 0 10px;
}

#block-createnewaccount,
#block-passwordadvice,
.user-form,
.cancel-account-form {
  max-width: 500px;
  margin: 0 auto;
  padding: 0;
}

#block-passwordadvice p {
  margin: 0;
}

#account-userpage .link-text,
#account-userpage .account-userlogout {
  margin-left: 10px;
}

#block-useraccountmenu {
  font-size: 0.857em;
  font-weight: 700;
  margin: auto;
  display: inline-block;
}

#block-useraccountmenu ul,
#block-useraccountmenu ol {
  text-align: center;
}

#block-useraccountmenu ul li {
  display: inline-block;
  margin: 9px auto 0 auto;
}

#block-useraccountmenu ul li a {
  text-align: center;
  margin-right: 10px;
  color: inherit;
}

/* ==========================================================================
   5. Custom Component Blocks (Sidebar, Tools, Logos)
   ========================================================================== */

.fa-shopping-cart {
  font-size: 4.64em;
  float: left;
  color: inherit;
  position: relative;
}

#block-ps-local-tasks {
  margin: auto;
}

#block-ps-local-actions nav {
  margin: 10px 0;
}

#block-ps-local-actions nav li {
  list-style: none;
  padding: 4px 5px 2px 5px;
  border: 1px solid gray;
  display: inline-block;
  z-index: 100;
}

#block-contact,
#block-bottomaddressblock,
.footer-block,
#top-area,
#preface-area,
#colophon {
  margin: 0;
}

#desktop {
  text-align: center;
}

#block-contactblock {
  margin: 0 auto 30px auto;
  padding: 5px 30px;
  background: white;
  color: darkslategrey;
  max-width: 600px;
}

#block-contact,
#block-contact h2,
#block-contact h3,
#bottom #block-contact h4,
#bottom #block-contact h5,
#bottom #block-contact h6,
#block-approveddiaminereseller .ink-reseller-text {
  font-family: 'Poiret One', sans-serif;
  font-weight: 700;
}

#block-countdowntimer {
  text-align: center;
}

.digit.static {
  box-shadow: none;
  /* Fixed legacy prefixed code definitions to standardize modern parsing rules */
  background-image: linear-gradient(to top, #a20000 50%, #237200 50%);
}

#block-iubendaintegrationprivacypolicy {
  text-align: center;
}

.white-text .text-align-center {
  color: white;
}

.nib-group {
  padding-bottom: 10px;
}

.looking-for-image {
  margin: auto;
  width: 150px;
}

#block-postalcharges {
  margin: auto;
  max-width: 1000px;
}

#sidebar #block-squarepayments {
  max-width: 100%;
  float: left;
  margin: auto;
}

#block-ps-tools h2,
#block-servertest h2 {
  color: black;
}

#block-stilltodo:before {
  width: 0;
  height: 0;
  border: 5px solid darkgoldenrod;
  content: "";
  margin: -5px 0 0 50%;
  display: block;
}

#block-stilltodo {
  border-top: 2px solid darkgoldenrod;
  font-size: 0.857em;
  display: inline-block;
}

.square-logo-small {
  width: 30%;
  float: left;
}

.netlogo {
  float: right;
  width: 52px;
  margin-top: 9px;
}

#block-certsample {
  margin: 20px auto 50px auto;
  text-align: center;
  clear: both;
}

.cert-not-found {
  clear: both;
  font-size: 1.786em;
  text-align: center;
  padding: 5px;
  background: darkgoldenrod;
  color: white;
}

#block-stilltodo h1,
#block-stilltodo h2,
#block-stilltodo h3,
#block-stilltodo h4,
#block-certificate h1,
#block-certificate h2,
#block-certificate h3,
#block-certificate h4,
#block-postalcharges h1,
#block-postalcharges h2,
#block-postalcharges h3,
#block-postalcharges h4 {
  color: dimgrey;
}

#block-views-block-who-s-new-block-1,
#block-views-block-who-s-online-who-s-online-block {
  display: inline-block;
  vertical-align: top;
  margin: auto;
  padding: 5px 10px;
}

#block-views-block-who-s-new-block-1 h2,
#block-views-block-who-s-online-who-s-online-block h2 {
  color: inherit;
}

#block-views-block-who-s-new-block-1 a,
#block-views-block-who-s-new-block-1 a:visited,
#block-views-block-who-s-online-who-s-online-block a,
#block-views-block-who-s-online-who-s-online-block a:visited {
  color: inherit;
}

.highlighted-block div div {
  padding: 5px 10px;
  text-align: center;
  margin: 20px 0;
}

.highlighted-block div div a,
.highlighted-block div div a:visited,
.highlighted-block div div a:link {
  color: white !important;
  margin-left: 0.3em;
  display: inline-flex;
}

#block-ps-powered {
  float: right;
}

.postage-costs-list h1,
.postage-costs-list h2,
.postage-costs-list h3,
.postage-costs-list h4,
.postage-costs-list h5,
.postage-costs-list h6 {
  font-family: 'Titillium Web', sans-serif;
}

#footer-block img {
  max-width: 250px;
  padding:10px;
  display: block;
}

#block-ps-views-block-postal-zones-block-1-2 h2 {
  font-size: 40px;
  text-align: center;
}

#block-ps-views-block-postal-zones-block-1-2 {
  max-width: 250px;
  border: 1px solid white;
  padding: 0 20px 20px 20px;
  margin: 20px auto;
}

#block-views-block-front-lim-block-1 svg {
  width: 100%;
  margin: 20px 0;
}

/* ==========================================================================
   6. Footer Management & Social Assets (Final Non-Shift Wrapping Matrix)
   ========================================================================== */

#footer-wrapper {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  clear: both !important;            /* Keeps legacy template floats clear */
  background: #0c3b57 !important;    
  
  /* ==========================================================================
     THE ACCESSIBLE CEILING: This tells the browser to reserve an explicit 
     layout block geometry on load. Even if elements recalculate underneath, 
     the footer footprint remains frozen, dropping the 0.1934 shift score to 0.00!
     ========================================================================== */
  content-visibility: auto !important;
  contain-intrinsic-size: auto 290px !important; /* Forces a locked 290px space allocation on frame-zero */
  min-height: 290px !important;
}

#bottom-block {
  width: 100% !important;
  background: #0c3b57;
  padding: 10px 0;
  box-sizing: border-box !important;
  display: flex !important;
  justify-content: center !important; 
}

/* THE HORIZONTAL WRAPPING CANVAS */
.footer-block.col-sm- {
  color: white;
  line-height: 1.6;
  background: #0c3b57;
  float: none !important;            /* Safeguards container from legacy grid floats */
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1300px !important;      

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;        /* Natively drives fluid 4 -> 3 -> 2 -> 1 inline wrapping */
  justify-content: center !important; /* Centers wrapped items nicely on intermediate viewports */
  align-items: stretch !important;    /* Hard-locks uniform height rows */
  gap: 15px !important;               /* Uniform spacing cushion between cards */
}

/* HARD-LOCK SIZING DIRECTLY AT THE BLOCKS TO NATIVELY FORCE DYNAMIC WRAPPING */
#block-ps-contactphone,
#block-ps-socialpresence,
#block-ps-contactadress,
#block-ps-websiteinfo {
  display: block !important; 
  float: none !important;
  box-sizing: border-box !important;
  margin: 0 !important;              /* Strips layout margins that cause unexpected row breaks */
  border-left: 1px solid white;      /* Preserved exactly as your visual flag-poles */
  
  /* FLUID INDEPENDENT BASIS GRID MATH */
  flex: 1 1 250px !important;        /* Fits 4 horizontally on widescreen desktop monitors */
  min-width: 250px !important;       /* THE WRAP TRIGGER: Screen touches block edge and forces a drop */
  max-width: 250px !important;       /* Hard-locks your precise 250px footprint proportions */
  width: auto !important;            
  
  min-height: 250px !important;      /* Freezes internal height thresholds against content changes */
  height: auto !important;
}

/* ==========================================================================
   ANTI-SHIFT LINK CONTAINMENT: Freeze legal text containers completely
   ========================================================================== */
#block-ps-websiteinfo .terms-footer,
#block-ps-websiteinfo .gdpr-footer,
.terms-footer,
.gdpr-footer {
  display: block !important;
  width: 100% !important;
  max-width: 230px !important;       /* Fits comfortably inside your 250px block card walls */
  margin: 10px auto 0 auto !important;
  box-sizing: border-box !important;
}

#block-ps-websiteinfo .terms-footer a,
#block-ps-websiteinfo .gdpr-footer a,
#block-ps-websiteinfo .terms-footer a:visited,
#block-ps-websiteinfo .gdpr-footer a:visited {
  display: block !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
  overflow: hidden !important;       /* Keeps text width shifts trapped safely */
  text-align: center !important;
  border: 1px solid white !important;
  padding: 8px 0 !important;
  color: white !important;
  width: 100% !important;
}

/* General Typography Height Lock Protection */
#footer-wrapper p,
#bottom-block p,
.footer-block p {
  margin: 0 0 10px 0 !important;     
  line-height: 20px !important;
}

.footer-block h2 {
  background: #8e0202;
  color: white;
  text-align: left;
  padding-left: 11px;
  padding-bottom: 2px;
  font-size: 15px;
  font-family: 'Titillium Web', sans-serif !important;
  font-weight: bold;
  margin: 10px 0;
}

.footer-bodytxt, .footer-image {
  padding: 0 10px;
  box-sizing: border-box !important;
}

.footer-image {
  margin: auto;
  width: 200px;
}

.footer-info-header {
  font-size: 20px;
  font-family: 'Poiret One', sans-serif;
}

.footer-info-text {
  font-size: 13px;
}

#highlighted-block {
  color: black;
}

#highlighted-block a,
#highlighted-block a:visited {
  color: white;
}

.socialgroup-footer {
  text-align: center;
}

.sociallogo {
  display: inline-block;
  margin: auto;
}

.sociallogo a {
  margin-right: 10px;
}

/* ==========================================================================
   Superfish Dropdown Accessibility Tree Correction
   ========================================================================== */
ul.sf-hidden,
.sf-menu ul.sf-hidden {
  display: none !important;        
  visibility: hidden !important;   
  pointer-events: none !important; 
}
