/*
Theme Name: Insert Coin
Theme URI: https://insert-coin.online
Author: Massimiliano Di Marco
Description: Tema editoriale per Insert Coin, testata di news e approfondimenti sui videogiochi. Layout ispirato a Internazionale/Valigia Blu.
Version: 1.22.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: insert-coin
*/

:root{
  --ic-bg:#ffffff;
  --ic-surface:#E0EAFF;
  --ic-text:#001c38;
  --ic-accent:#ffd800;
  --ic-divider:rgba(0,28,56,.4);
  --ic-accent-700:#b89900;
  --ic-font-heading:"Archivo",system-ui,sans-serif;
  --ic-font-body:"Source Serif 4",Georgia,serif;
  --ic-max:1180px;
  --ic-nav-justify:flex-start;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ic-bg);color:var(--ic-text);font-family:var(--ic-font-body);font-size:17px;line-height:1.5}
h1,h2,h3,h4{font-family:var(--ic-font-heading);font-weight:800;margin:0 0 .5em;line-height:1.1}
a{color:var(--ic-text);text-decoration:none}
a:hover{color:var(--ic-accent-700)}
img{max-width:100%;display:block}
.ic-wrap{max-width:var(--ic-max);margin:0 auto;padding:0 24px}
.ic-hr{border:none;border-top:2px solid var(--ic-divider);margin:0}

/* utility bar */
.ic-utility{background:var(--ic-surface);width:100%}
.ic-utility-inner{display:flex;justify-content:flex-end;gap:20px;padding:6px 24px;font-size:12px;flex-wrap:wrap;width:100%}
.ic-utility ul{list-style:none;display:flex;gap:20px;margin:0;padding:0;flex-wrap:wrap}
.ic-utility a{opacity:.75;font-family:var(--ic-font-heading);font-weight:600}
.ic-utility a:hover{opacity:1}
.ic-utility a.ic-utility-accent{opacity:1;color:var(--ic-accent-700)}

/* header / nav */
.ic-header{border-bottom:2px solid var(--ic-divider);width:100%}
.ic-header-inner{display:flex;align-items:center;gap:20px;padding:16px 24px;width:100%;flex-wrap:wrap}
.ic-logo{flex:none;display:flex;align-items:center}
.ic-logo img{height:44px}
.ic-nav{flex:1;min-width:0}
.ic-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:20px;margin:0;padding:0;justify-content:var(--ic-nav-justify);font-family:var(--ic-font-heading);font-weight:600;font-size:14px}
.ic-nav a{padding:6px 0}
.ic-nav .current-menu-item>a,.ic-nav .current-cat>a{border-bottom:2px solid var(--ic-accent)}
.ic-header-actions{display:flex;gap:8px;flex:none;position:relative}
.ic-icon-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:2px solid var(--ic-text);background:transparent;cursor:pointer;position:relative}
.ic-icon-btn:hover{background:var(--ic-text);color:var(--ic-bg)}
.ic-icon-btn[aria-expanded="true"]{background:var(--ic-text);color:var(--ic-bg)}
.ic-cart-badge{position:absolute;top:-8px;right:-8px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--ic-accent);color:var(--ic-text);font-family:var(--ic-font-heading);font-weight:700;font-size:11px;line-height:18px;text-align:center}
.ic-nav-toggle{display:none}
.ic-support-btn{display:none}

/* search dropdown */
.ic-search-panel{max-height:0;overflow:hidden;background:var(--ic-surface);border-bottom:0 solid var(--ic-divider);transition:max-height .35s ease,border-bottom-width .35s ease}
.ic-search-panel.ic-open{max-height:120px;border-bottom-width:2px}
.ic-search-form{display:flex;gap:10px;padding:18px 24px;width:100%;box-sizing:border-box}
.ic-search-form input[type="search"]{flex:1;min-width:0;border:2px solid var(--ic-text);background:var(--ic-bg);padding:10px 14px;font-family:var(--ic-font-body);font-size:15px;color:var(--ic-text)}
.ic-search-form button{flex:none}

/* Header mobile: sotto i 760px SEMPRE (telefoni, anche orizzontali), e in più sui tablet in
   orientamento verticale (fino a 1024px di larghezza, che copre anche l'iPad Pro 12.9" in
   portrait) — qui Franco ha chiesto lo stesso header dello smartphone anche su tablet portrait,
   quindi questa seconda condizione si applica SOLO all'header, non agli altri breakpoint
   (hero, griglie, footer, ecc. restano legati ai loro media query da 760px). */
@media(max-width:760px), (max-width:1024px) and (orientation:portrait){
  .ic-utility{display:none}
  .ic-nav-toggle{display:flex}
  .ic-nav{display:none;flex-basis:100%;order:5}
  .ic-nav.ic-open{display:block;padding-top:12px}
  .ic-nav ul{flex-direction:column;gap:0}
  .ic-nav li{border-top:1px solid var(--ic-divider)}
  .ic-nav a{display:block;padding:10px 0}
  .ic-header-actions{margin-left:auto;order:2}
  .ic-logo{order:1}
  .ic-support-btn{
    display:flex;width:auto;padding:0 14px;background:var(--ic-accent);border-color:var(--ic-accent);
    font-family:var(--ic-font-heading);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--ic-text);
  }
  .ic-support-btn:hover{background:var(--ic-text);color:var(--ic-accent);border-color:var(--ic-text)}
}

/* tags / buttons */
.ic-tag{display:inline-block;font-family:var(--ic-font-heading);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border:1px solid var(--ic-text)}
.ic-tag-accent{background:var(--ic-accent);border-color:var(--ic-accent);color:var(--ic-text)}
.ic-tag-neutral{background:var(--ic-surface);border-color:var(--ic-surface)}
.ic-tag-outline{background:transparent;border-color:var(--ic-divider);cursor:pointer}
.ic-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--ic-font-heading);font-weight:600;font-size:14px;padding:12px 20px;border:2px solid var(--ic-text);background:transparent;color:var(--ic-text);cursor:pointer}
.ic-btn:hover{background:var(--ic-text);color:var(--ic-bg)}
.ic-btn-primary{background:var(--ic-accent);border-color:var(--ic-accent)}
.ic-btn-primary:hover{background:var(--ic-text);color:var(--ic-bg);border-color:var(--ic-text)}
.ic-btn-ghost{border-color:transparent}
.ic-btn-block{width:100%;justify-content:center}

/* home grids */
/* height:auto is required here: WordPress always prints width/height HTML attributes on
   <img> (e.g. width="1024" height="647"), which browsers treat as a specified (non-auto)
   height. With both width and height "specified", CSS aspect-ratio is ignored for sizing —
   it only kicks in when one of the two is auto. Freeing height is what makes it apply. */
.ic-thumb{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
.ic-hero{display:grid;grid-template-columns:minmax(0,560px) 1fr;gap:40px;padding:36px 0}
.ic-hero h1{font-size:34px}
.ic-hero-side a{display:block;padding:18px 0;border-top:2px solid var(--ic-divider)}
.ic-section{padding:40px 0}
.ic-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}
.ic-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.ic-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ic-editorial-list a{display:block;padding:20px 0;border-top:2px solid var(--ic-divider)}
.ic-editorial-list h3{font-size:18px;margin:0 0 6px}
.ic-podcast-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:2px solid var(--ic-divider)}
.ic-podcast-row audio{flex:1;width:100%}
.ic-btn-spotify{display:inline-flex;align-items:center;gap:8px;background:#1DB954;color:#fff;font-family:var(--ic-font-heading);font-weight:700;font-size:14px;padding:12px 22px;border-radius:999px;margin-top:20px}
.ic-btn-spotify:hover{background:#1ed760;color:#fff}
.ic-btn-spotify svg{flex:none}
.ic-placeholder-note{font-size:14px;opacity:.6;padding:24px 0;border-top:2px solid var(--ic-divider)}
@media(max-width:760px){
  .ic-hero{grid-template-columns:1fr}
  .ic-hero h1{font-size:30px}
  .ic-grid-2{grid-template-columns:1fr}
  .ic-grid-4{grid-template-columns:repeat(2,1fr)}
}

/* article */
.ic-article{max-width:760px;margin:0 auto;padding:44px 24px 0}
.ic-article-lead{font-size:19px;opacity:.75;margin:0 0 24px}
.ic-article-meta{display:flex;align-items:center;gap:12px;padding:16px 0;border-top:2px solid var(--ic-divider);border-bottom:2px solid var(--ic-divider);margin-bottom:32px;font-size:13px}
.ic-article-meta img{width:40px;height:40px;border-radius:50%}
.ic-article-body{font-size:18px;line-height:1.7}
.ic-article-body blockquote{margin:32px 0;padding-left:20px;border-left:4px solid var(--ic-accent);font-family:var(--ic-font-heading);font-weight:800;font-size:22px;line-height:1.4}
.ic-author-box{display:flex;gap:16px;margin:48px auto;max-width:760px;padding:24px;background:var(--ic-surface)}
.ic-author-box img{width:64px;height:64px;border-radius:50%;flex:none}
@media(max-width:600px){.ic-article h1{font-size:30px}}

/* archive */
.ic-archive-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.ic-archive-row{display:flex;gap:20px;padding:24px 0;border-top:2px solid var(--ic-divider)}
.ic-archive-row figure{flex:none;width:160px;margin:0}
@media(max-width:600px){.ic-archive-row{flex-direction:column}.ic-archive-row figure{width:100%}}

/* shop — product covers (magazine issues, ebooks, merch photos) are portrait 3:4, like a
   real printed cover, unlike the 16:9 landscape used for editorial article photos */
.ic-thumb-portrait{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block}
.ic-shop-cats{display:grid;grid-template-columns:repeat(3,1fr)}
.ic-shop-cats a{padding:28px 24px;border-right:2px solid var(--ic-divider)}
.ic-shop-cats a:last-child{border-right:none}
.ic-latest{display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:start}
.ic-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ic-product-detail{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.ic-product-specs div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--ic-divider);font-size:14px}
@media(max-width:760px){
  .ic-shop-cats{grid-template-columns:1fr}
  .ic-shop-cats a{border-right:none;border-bottom:2px solid var(--ic-divider)}
  .ic-latest{grid-template-columns:1fr}
  .ic-product-grid{grid-template-columns:repeat(2,1fr)}
  .ic-product-detail{grid-template-columns:1fr}
}

/* WooCommerce product page (styled to match the "scheda prodotto" design).
   !important throughout this block: WooCommerce's own stylesheets (woocommerce.css,
   wc-blocks.css) ship compound selectors like ".woocommerce a.button, .woocommerce
   button.button" that are MORE specific than a single theme class, so they win over ours
   regardless of load order unless we force it — this is why the add-to-cart button and the
   notice boxes were showing WooCommerce's default purple/blue instead of the site's colors. */
.woocommerce-notices-wrapper{max-width:var(--ic-max);margin:0 auto 24px}
.woocommerce-message,.woocommerce-error,.woocommerce-info,
.woocommerce ul.woocommerce-error,.woocommerce ul.woocommerce-message,.woocommerce ul.woocommerce-info,
.wc-block-components-notice-banner{
  list-style:none!important;background:var(--ic-surface)!important;border:2px solid var(--ic-text)!important;
  border-radius:0!important;padding:14px 18px 14px 46px!important;font-size:14px!important;margin:0 0 16px!important;
  color:var(--ic-text)!important;position:relative!important;
}
/* L'icona WooCommerce (font "WooCommerce", pseudo-elemento ::before) di default è verde e
   posizionata con top/left assoluti pensati per il padding di default di WooCommerce — nel
   nostro box, con padding diverso, finiva sovrapposta al testo. Qui la ricoloriamo di giallo
   (var(--ic-accent-700), più leggibile del giallo pieno su sfondo chiaro) e la centriamo
   verticalmente a sinistra, dentro lo spazio riservato dal padding-left qui sopra. */
.woocommerce-message::before,.woocommerce-error::before,.woocommerce-info::before{
  color:var(--ic-accent-700)!important;position:absolute!important;left:16px!important;
  top:50%!important;transform:translateY(-50%)!important;margin:0!important;
}
.woocommerce-message a.button,.woocommerce-message .wc-forward,
.wc-block-components-notice-banner a{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--ic-font-heading)!important;font-weight:600!important;
  font-size:13px!important;padding:8px 14px!important;border:2px solid var(--ic-text)!important;background:transparent!important;
  color:var(--ic-text)!important;border-radius:0!important;text-decoration:none!important;
}
form.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 32px}
form.cart .quantity{display:inline-flex}
form.cart .quantity .qty,.quantity .qty{width:64px;padding:10px;border:2px solid var(--ic-text)!important;font-family:var(--ic-font-body);font-size:15px;background:var(--ic-bg)!important;color:var(--ic-text)!important;border-radius:0!important}
.single_add_to_cart_button,
.woocommerce a.single_add_to_cart_button,.woocommerce button.single_add_to_cart_button,
form.cart button[type="submit"],form.cart .wp-element-button{
  display:inline-flex!important;align-items:center;gap:8px;font-family:var(--ic-font-heading)!important;font-weight:600!important;
  font-size:14px!important;padding:12px 20px!important;border:2px solid var(--ic-accent)!important;background:var(--ic-accent)!important;
  border-radius:0!important;color:var(--ic-text)!important;cursor:pointer;text-shadow:none!important;box-shadow:none!important;
}
.single_add_to_cart_button:hover,.woocommerce a.single_add_to_cart_button:hover,
form.cart button[type="submit"]:hover{background:var(--ic-text)!important;color:var(--ic-bg)!important;border-color:var(--ic-text)!important}
/* add-to-cart button on shop grid cards (WooCommerce's own loop button class) */
.add_to_cart_button,.woocommerce a.add_to_cart_button,.woocommerce .products .add_to_cart_button{
  display:inline-flex!important;align-items:center;justify-content:center;gap:8px;width:100%;font-family:var(--ic-font-heading)!important;
  font-weight:600!important;font-size:14px!important;padding:12px 20px!important;border:2px solid var(--ic-text)!important;
  background:transparent!important;border-radius:0!important;color:var(--ic-text)!important;cursor:pointer;text-align:center;
  text-decoration:none!important;box-sizing:border-box;box-shadow:none!important;
}
.add_to_cart_button:hover,.woocommerce a.add_to_cart_button:hover{background:var(--ic-text)!important;color:var(--ic-bg)!important}
.added_to_cart{display:block;margin-top:8px;font-size:12px;text-decoration:underline;text-align:center}
.ic-product-specs table{width:100%;border-collapse:collapse;font-size:14px}
.ic-product-specs table th,.ic-product-specs table td{padding:8px 0;border-bottom:1px solid var(--ic-divider);text-align:left;font-weight:400}
.ic-product-specs table th{opacity:.6;width:40%}
.ic-product-specs p.stock{font-size:13px;opacity:.7;margin:0 0 16px}

/* WooCommerce Checkout (block-based, [woocommerce_checkout]) — the order summary sidebar
   assumes a wide two-column layout; wrapped inside a too-narrow container it squeezes down
   until product titles wrap letter by letter. page.php already gives the Checkout page a
   wider container (see $ic_is_wide), this is a safety net so the sidebar itself never drops
   below a sane minimum width even if the block's own responsive breakpoints kick in early. */
.wc-block-checkout__sidebar,.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-sidebar{min-width:280px;flex:1 1 280px}
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__individual-prices{overflow-wrap:break-word;word-break:normal}
.wc-block-checkout{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.wc-block-checkout__main{flex:2 1 420px;min-width:0}

/* WooCommerce "Il mio account" ([woocommerce_my_account]) — restyled to match the site
   instead of WooCommerce's bare default list + plain text.
   Nota: nav e content NON hanno un div wrapper comune con classe .u-columns (quello è usato
   SOLO dal blocco Indirizzi qui sotto) — sono due elementi fratelli dentro .ic-article-body
   (vedi page.php), quindi il layout a due colonne va applicato lì, non su ".u-columns"
   (un tentativo precedente lo faceva su ".u-columns" e collideva con la griglia Indirizzi,
   causando il layout rotto visto nello screenshot di Franco). */
.woocommerce-account .ic-article-body{display:flex;gap:48px;align-items:flex-start;flex-wrap:wrap}
.woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto;flex:0 0 220px}
.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto;flex:1;min-width:280px}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border-top:2px solid var(--ic-divider)}
.woocommerce-MyAccount-navigation li{border-bottom:2px solid var(--ic-divider)}
.woocommerce-MyAccount-navigation li a{
  display:block;padding:14px 2px;font-family:var(--ic-font-heading);font-weight:600;font-size:14px;
  color:var(--ic-text);text-decoration:none;opacity:.7;
}
.woocommerce-MyAccount-navigation li a:hover{opacity:1}
.woocommerce-MyAccount-navigation li.is-active a{opacity:1;color:var(--ic-accent-700,var(--ic-text))}
.woocommerce-MyAccount-content{font-size:15px;line-height:1.65}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-family:var(--ic-font-heading);font-weight:800;margin:0 0 16px}
.woocommerce-MyAccount-content mark{background:var(--ic-surface);padding:1px 4px}
.woocommerce-MyAccount-content .woocommerce-Addresses{
  display:grid!important;grid-template-columns:1fr 1fr;gap:32px;margin-top:8px;
}
.woocommerce-MyAccount-content .woocommerce-Addresses::after{content:none!important}
.woocommerce-MyAccount-content .woocommerce-Address{
  float:none!important;width:auto!important;margin:0!important;padding:20px;border:2px solid var(--ic-divider);
}
.woocommerce-MyAccount-content .woocommerce-Address-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-MyAccount-content .woocommerce-Address-title h3{margin:0;font-size:17px}
.woocommerce-MyAccount-content .woocommerce-Address-title a{
  flex:none;font-family:var(--ic-font-heading);font-weight:600;font-size:12px;text-transform:uppercase;
  letter-spacing:.04em;color:var(--ic-text);border-bottom:2px solid var(--ic-accent);text-decoration:none;white-space:nowrap;
}
.woocommerce-MyAccount-content address{font-style:normal;font-size:14px;opacity:.8}
.woocommerce-MyAccount-content table.shop_table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:14px}
.woocommerce-MyAccount-content table.shop_table th{font-family:var(--ic-font-heading);font-weight:600;text-align:left;padding:10px 8px;border-bottom:2px solid var(--ic-text)}
.woocommerce-MyAccount-content table.shop_table td{padding:10px 8px;border-bottom:1px solid var(--ic-divider)}
.woocommerce-MyAccount-content table.shop_table a.button,.woocommerce-MyAccount-content a.button{
  display:inline-flex;align-items:center;gap:6px;font-family:var(--ic-font-heading)!important;font-weight:600!important;
  font-size:12px!important;padding:8px 14px!important;border:2px solid var(--ic-text)!important;background:transparent!important;
  border-radius:0!important;color:var(--ic-text)!important;text-decoration:none!important;
}
.woocommerce-MyAccount-content table.shop_table a.button:hover,.woocommerce-MyAccount-content a.button:hover{
  background:var(--ic-text)!important;color:var(--ic-bg)!important;
}
.woocommerce-MyAccount-content form .form-row{margin:0 0 16px}
.woocommerce-MyAccount-content form label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.woocommerce-MyAccount-content form input[type="text"],.woocommerce-MyAccount-content form input[type="email"],
.woocommerce-MyAccount-content form input[type="password"],.woocommerce-MyAccount-content form input[type="tel"],
.woocommerce-MyAccount-content form select,.woocommerce-MyAccount-content form textarea{
  width:100%;padding:10px 12px;border:2px solid var(--ic-text);background:var(--ic-bg);color:var(--ic-text);
  font-family:var(--ic-font-body);font-size:14px;box-sizing:border-box;
}
.woocommerce-MyAccount-content button[type="submit"]{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--ic-font-heading)!important;font-weight:600!important;
  font-size:14px!important;padding:12px 20px!important;border:2px solid var(--ic-accent)!important;background:var(--ic-accent)!important;
  border-radius:0!important;color:var(--ic-text)!important;cursor:pointer;
}
.woocommerce-MyAccount-content button[type="submit"]:hover{background:var(--ic-text)!important;color:var(--ic-bg)!important;border-color:var(--ic-text)!important}
@media(max-width:760px){
  .woocommerce-account .ic-article-body{flex-direction:column;gap:24px}
  .woocommerce-account .woocommerce-MyAccount-navigation{flex:none;width:100%}
  .woocommerce-MyAccount-content .woocommerce-Addresses{grid-template-columns:1fr}
}

/* WooCommerce cart page (custom template, matches the rest of the site instead of WC's
   default table markup) */
.ic-cart-layout{display:grid;grid-template-columns:2fr 1fr;gap:56px;align-items:start}
.ic-cart-row{display:flex;align-items:center;gap:20px;padding:20px 0;border-top:2px solid var(--ic-divider)}
.ic-cart-row:last-child{border-bottom:2px solid var(--ic-divider)}
.ic-cart-row figure{flex:none;width:80px;margin:0}
.ic-cart-row .ic-cart-name{flex:1;min-width:0}
.ic-cart-row .ic-cart-name a{color:inherit;font-weight:600;font-size:15px}
.ic-cart-row .ic-cart-price{font-size:14px;opacity:.7;flex:none;width:100px}
.ic-cart-row .ic-cart-subtotal{font-family:var(--ic-font-heading);font-weight:700;font-size:15px;flex:none;width:100px;text-align:right}
.ic-cart-row .quantity{display:inline-flex;flex:none}
.ic-cart-row .qty{width:56px;padding:8px;border:2px solid var(--ic-text);font-family:var(--ic-font-body);font-size:14px;background:var(--ic-bg);color:var(--ic-text)}
.ic-cart-remove{flex:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:2px solid var(--ic-divider);background:transparent;color:var(--ic-text);text-decoration:none;font-size:16px;line-height:1;cursor:pointer}
.ic-cart-remove:hover{border-color:var(--ic-text);background:var(--ic-text);color:var(--ic-bg)}
.ic-cart-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.ic-cart-actions input[type="text"]{padding:10px 14px;border:2px solid var(--ic-text);background:var(--ic-bg);color:var(--ic-text);font-family:var(--ic-font-body);font-size:14px}
.ic-cart-totals{background:var(--ic-surface);border:2px solid var(--ic-text);padding:28px}
.ic-cart-totals h3{margin:0 0 18px}
.ic-cart-totals-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--ic-divider);font-size:14px}
.ic-cart-totals-row.ic-cart-total{font-family:var(--ic-font-heading);font-weight:800;font-size:18px;border-bottom:none;padding-top:16px}
@media(max-width:800px){
  .ic-cart-layout{grid-template-columns:1fr}
  .ic-cart-row{flex-wrap:wrap}
  .ic-cart-row .ic-cart-subtotal{margin-left:auto}
}

/* banner */
.ic-banner{background:var(--ic-accent);color:var(--ic-text);padding:56px 24px}
.ic-banner-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;max-width:var(--ic-max);margin:0 auto}
.ic-banner h3{font-size:32px;max-width:38ch}
.ic-banner .ic-btn{border-color:var(--ic-text)}

/* footer */
.ic-footer{background:var(--ic-text);color:var(--ic-bg)}
.ic-footer a{color:inherit;opacity:.85}
.ic-footer a:hover{opacity:1}
.ic-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding:48px 24px 24px;max-width:var(--ic-max);margin:0 auto}
.ic-footer-grid img{height:40px;margin-bottom:14px}
.ic-footer-grid h4{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.6;font-family:var(--ic-font-heading)}
.ic-footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px}
.ic-footer-bottom{max-width:var(--ic-max);margin:0 auto;padding:16px 24px;border-top:1px solid rgba(255,255,255,.25);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;opacity:.7}
@media(max-width:760px){.ic-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.ic-footer-grid{grid-template-columns:1fr}}

/* wp core alignments */
.alignleft{float:left;margin-right:20px}
.alignright{float:right;margin-left:20px}
.aligncenter{display:block;margin:0 auto}
