/*
 * Magnna Brands Visual System — v1.2.0
 * Scope: visual directives only. Editorial voice, banned vocabulary and copy rules are intentionally excluded.
 */

/* Global visual corrections from Brand Bible */
:where(body, button, input, select, textarea){font-family:var(--font-mono)}
body{background-color:var(--color-neutral-paper)}
::selection{background:var(--color-brand-primary);color:var(--color-neutral-paper)}
:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:3px}

/* Approved layout utilities */
.magnna-surface{background:var(--color-neutral-bright);border:var(--border-1) solid var(--color-rule-medium)}
.magnna-surface--inset{background:var(--color-neutral-cool);border:var(--border-1) solid var(--color-rule-medium)}
.magnna-surface--dark{background:var(--color-brand-deep);color:var(--color-text-on-dark)}
.magnna-rule{border-top:var(--border-1) solid var(--color-rule-medium)}
.magnna-rule--strong{border-top-color:var(--color-rule-strong)}
.magnna-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}
.magnna-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
.magnna-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5)}

/* Typography specimen classes */
.magnna-display{font-family:var(--font-display);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug);line-height:var(--lh-snug);color:var(--color-brand-deep)}
.magnna-display-xl{font-family:var(--font-display);font-size:clamp(56px,8vw,120px);font-weight:var(--weight-regular);line-height:.9;letter-spacing:var(--tracking-tight);color:var(--color-brand-deep)}
.magnna-display-xl em,.magnna-serif-accent{font-family:var(--font-italic);font-style:italic;font-weight:var(--weight-regular);color:var(--color-brand-primary);letter-spacing:-.01em}
.magnna-caption,.magnna-label{font-family:var(--font-mono);font-size:var(--size-eyebrow);letter-spacing:var(--tracking-wider);text-transform:uppercase;font-weight:var(--weight-medium);color:var(--color-text-muted)}
.magnna-label--primary{color:var(--color-brand-primary)}
.magnna-prose{font-family:var(--font-mono);font-size:var(--size-body);font-weight:var(--weight-light);line-height:var(--lh-relaxed);color:var(--color-text-default)}
.magnna-pullquote{font-family:var(--font-italic);font-style:italic;font-size:clamp(24px,3.4vw,34px);font-weight:var(--weight-regular);line-height:1.3;color:var(--color-brand-primary);padding:var(--space-8) 0;border-top:var(--border-1) solid var(--color-rule-strong);border-bottom:var(--border-1) solid var(--color-rule-strong)}

/* Logo application */
.magnna-logo-lockup{display:inline-flex;align-items:center;gap:var(--space-3)}
.magnna-logo-lockup img{height:34px;width:auto;display:block}.magnna-logo-lockup--large img{height:56px}.magnna-logo-lockup--small img{height:24px}
.magnna-logo-box{display:grid;place-items:center;min-height:220px;padding:var(--space-10);border:var(--border-1) solid var(--color-rule-strong);background:var(--color-neutral-bright)}
.magnna-logo-box--dark{background:var(--color-brand-deep);border-color:rgba(240,242,245,.2)}

/* Chevron pattern. Use behind visual blocks, not dense reading text. */
.bg-chevron,.magnna-chevron{background-image:url('../img/magnna-chevron-pattern.svg');background-size:80px 40px;background-repeat:repeat}
.bg-chevron-soft,.magnna-chevron--soft{background-image:url('../img/magnna-chevron-pattern.svg');background-size:160px 80px;background-repeat:repeat;background-color:var(--color-neutral-cool)}

/* Buttons */
.magnna-button,.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.single_add_to_cart_button,.wp-element-button{border-radius:var(--radius-0)!important;box-shadow:none!important}
.magnna-button--arrow::after,.woocommerce a.button::after,.single_add_to_cart_button::after{content:' →';display:inline-block;transition:transform var(--duration-default) var(--easing-standard)}
.magnna-button--arrow:hover::after,.woocommerce a.button:hover::after,.single_add_to_cart_button:hover::after{transform:translateX(4px)}
.magnna-button--small{min-height:36px;padding:8px 14px;font-size:var(--size-eyebrow)}
.magnna-button--large{min-height:56px;padding:16px 28px;font-size:12px}
.magnna-button[disabled],.button[disabled],button[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}

/* Form visual system */
label,.woocommerce form .form-row label{display:block;font-family:var(--font-mono);font-size:var(--size-eyebrow);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-2);font-weight:var(--weight-medium)}
.input-text,input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],textarea,select{border-radius:var(--radius-sm)!important;transition:border-color var(--duration-default) var(--easing-standard),box-shadow var(--duration-default) var(--easing-standard)}
.input-text::placeholder,input::placeholder,textarea::placeholder{color:var(--color-text-muted)}
.woocommerce-invalid input,.woocommerce-invalid select,.woocommerce-invalid textarea,.input-error{border-color:var(--color-error)!important}
.woocommerce-validated input,.woocommerce-validated select,.woocommerce-validated textarea{border-color:rgba(31,111,63,.35)!important}

/* Quantity stepper */
.quantity{display:inline-flex;border:var(--border-1) solid var(--color-rule-strong);background:var(--color-neutral-bright)}
.quantity .qty{border:0!important;border-left:var(--border-1) solid var(--color-rule)!important;border-right:var(--border-1) solid var(--color-rule)!important;background:transparent!important;border-radius:0!important;min-height:40px;font-weight:var(--weight-medium)}

/* Badge system */
.magnna-badge,.stock,.onsale{display:inline-block;font-family:var(--font-mono);font-size:var(--size-micro);letter-spacing:var(--tracking-wider);text-transform:uppercase;font-weight:var(--weight-medium);padding:5px 10px;background:var(--color-neutral-cool);color:var(--color-brand-primary);border:var(--border-1) solid var(--color-rule-medium);border-radius:var(--radius-0)!important;line-height:1.2}
.stock.in-stock,.magnna-badge--success{color:var(--color-success);border-color:rgba(31,111,63,.3);background:rgba(31,111,63,.06)}
.stock.available-on-backorder,.magnna-badge--warning{color:var(--color-warning);border-color:rgba(181,132,31,.35);background:rgba(181,132,31,.08)}
.stock.out-of-stock,.magnna-badge--error{color:var(--color-error);border-color:rgba(193,59,59,.3);background:rgba(193,59,59,.06)}
.magnna-badge--dark{background:var(--color-brand-deep);color:var(--color-neutral-paper);border-color:var(--color-brand-deep)}
.onsale{position:absolute;z-index:3;top:12px;right:12px;min-height:auto;min-width:auto;background:var(--color-brand-primary);color:var(--color-neutral-paper);border-color:var(--color-brand-primary)}

/* Product card visual fidelity */
.magnna-product-card .woocommerce-loop-product__link{display:flex;flex-direction:column;color:inherit}
.magnna-product-card .magnna-product-image,.magnna-product-card .woocommerce-LoopProduct-link > img,.magnna-product-card img.wp-post-image{aspect-ratio:1/1;background:var(--color-neutral-paper);object-fit:contain;width:100%;padding:var(--space-4);border-bottom:var(--border-1) solid var(--color-rule)}
.magnna-product-card .magnna-product-brand,.magnna-product-card .posted_in,.magnna-product-card .sku{font-family:var(--font-mono);font-size:var(--size-eyebrow);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-brand-primary);font-weight:var(--weight-medium)}
.magnna-product-card .woocommerce-loop-product__title{font-family:var(--font-display);font-size:18px;font-weight:var(--weight-medium);color:var(--color-brand-deep);letter-spacing:-.015em;line-height:1.25;padding:0;margin:8px 0}
.magnna-product-card .price{font-family:var(--font-display);font-size:22px;font-weight:var(--weight-medium);color:var(--color-brand-deep);letter-spacing:var(--tracking-snug);margin-top:auto;padding-top:var(--space-3);border-top:var(--border-1) solid var(--color-rule)}
.magnna-product-card .button{margin:var(--space-4) var(--space-5) var(--space-5);width:calc(100% - var(--space-10))}

/* Filter bar */
.magnna-filter-bar{background:var(--color-brand-deep);padding:18px 30px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;color:var(--color-neutral-paper)}
.magnna-filter-pill{font-family:var(--font-mono);font-size:var(--size-eyebrow);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-weight:var(--weight-medium);padding:8px 14px;border:var(--border-1) solid rgba(240,242,245,.3);color:rgba(240,242,245,.85);background:transparent;cursor:pointer;transition:all var(--duration-fast) var(--easing-standard);text-decoration:none}
.magnna-filter-pill:hover{border-color:var(--color-neutral-paper);color:var(--color-neutral-paper)}
.magnna-filter-pill.is-active,.magnna-filter-pill.active{background:var(--color-neutral-paper);color:var(--color-brand-deep);border-color:var(--color-neutral-paper)}

/* PDP visual system */
.magnna-pdp-gallery{position:relative}.magnna-pdp-gallery::after{content:'';position:absolute;left:26px;bottom:26px;width:42px;height:2px;background:var(--color-brand-primary)}
.magnna-pdp-summary .product_meta{font-family:var(--font-mono);font-size:var(--size-caption);color:var(--color-text-muted);line-height:1.8;border-top:var(--border-1) solid var(--color-rule-medium);padding-top:var(--space-5)}
.magnna-pdp-summary .product_meta a{color:var(--color-brand-primary);text-decoration:none}.magnna-pdp-summary .product_meta a:hover{text-decoration:underline;text-underline-offset:4px}
.woocommerce-product-gallery__trigger{background:var(--color-neutral-bright)!important;border:var(--border-1) solid var(--color-rule-medium)!important;border-radius:0!important}
.flex-control-thumbs li img{border:var(--border-1) solid transparent!important;background:var(--color-neutral-cool)!important}.flex-control-thumbs li img.flex-active{border-color:var(--color-brand-primary)!important}

/* Cart line, summary and checkout visual states */
.magnna-cart-line{transition:border-color var(--duration-default) var(--easing-standard),transform var(--duration-default) var(--easing-standard)}
.magnna-cart-line:hover{border-color:var(--color-brand-primary);transform:translateY(-2px)}
.shop_table{border-collapse:collapse!important;width:100%;background:var(--color-neutral-bright);border:var(--border-1) solid var(--color-rule-medium)!important}
.shop_table th,.shop_table td{border-bottom:var(--border-1) solid var(--color-rule)!important;padding:14px 16px!important}
.shop_table th{font-family:var(--font-mono);font-size:var(--size-eyebrow);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted);font-weight:var(--weight-medium)}
#payment{background:var(--color-neutral-cool)!important;border:var(--border-1) solid var(--color-rule-medium)!important;border-radius:0!important}
#payment ul.payment_methods{border-bottom:var(--border-1) solid var(--color-rule-medium)!important;padding:var(--space-5)!important}
#payment div.form-row{padding:var(--space-5)!important}

/* Account/navigation panels */
.woocommerce-MyAccount-navigation a{transition:background var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}
.magnna-panel-list{display:grid;gap:var(--space-4)}
.magnna-panel-link{display:grid;grid-template-columns:1fr auto;gap:var(--space-4);align-items:center;text-decoration:none;background:var(--color-neutral-bright);border:var(--border-1) solid var(--color-rule-medium);padding:var(--space-6);position:relative;transition:border-color var(--duration-medium) var(--easing-standard),transform var(--duration-medium) var(--easing-standard),box-shadow var(--duration-medium) var(--easing-standard)}
.magnna-panel-link::before{content:'';position:absolute;top:0;left:0;width:36px;height:2px;background:var(--color-brand-primary);transition:width var(--duration-medium) var(--easing-standard)}
.magnna-panel-link:hover{border-color:var(--color-brand-primary);transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.magnna-panel-link:hover::before{width:100%}

/* Motion primitives */
.magnna-hover-lift{transition:transform var(--duration-medium) var(--easing-standard),border-color var(--duration-medium) var(--easing-standard),box-shadow var(--duration-medium) var(--easing-standard)}
.magnna-hover-lift:hover{transform:translateY(-4px);border-color:var(--color-brand-primary);box-shadow:var(--shadow-card-hover)}
.magnna-hover-line{position:relative}.magnna-hover-line::before{content:'';position:absolute;top:0;left:0;width:20px;height:2px;background:var(--color-brand-primary);transition:width var(--duration-medium) var(--easing-standard)}.magnna-hover-line:hover::before{width:100%}
.magnna-link{font-family:var(--font-mono);font-size:var(--size-caption);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-brand-primary);text-decoration:none;position:relative;display:inline-block;padding:4px 0}
.magnna-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--color-brand-primary);transition:width var(--duration-default) var(--easing-standard)}.magnna-link:hover::after{width:100%}
.magnna-loader-dots{display:flex;gap:8px}.magnna-loader-dots span{width:8px;height:8px;background:var(--color-brand-primary);animation:magnna-pulse-dot 1.4s var(--easing-standard) infinite}.magnna-loader-dots span:nth-child(2){animation-delay:.2s}.magnna-loader-dots span:nth-child(3){animation-delay:.4s}
@keyframes magnna-pulse-dot{0%,100%{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.05)}}

/* Toast / overlay visual layer */
.magnna-toast,.woocommerce-notices-wrapper{z-index:var(--z-toast)}
.magnna-toast{position:fixed;right:24px;top:24px;background:var(--color-brand-deep);color:var(--color-neutral-paper);border:var(--border-1) solid rgba(240,242,245,.2);box-shadow:var(--shadow-toast);padding:var(--space-5);max-width:360px}

/* WordPress block alignment */
.wp-block-button__link{border-radius:var(--radius-0)!important}.wp-block-separator{border-color:var(--color-rule-medium)!important}.wp-block-table table{border-color:var(--color-rule-medium)!important}.wp-block-quote{border-left:var(--border-3) solid var(--color-brand-primary);background:var(--color-neutral-cool);padding:var(--space-6);margin-inline:0}.wp-block-quote p{font-family:var(--font-italic);font-style:italic;font-size:var(--size-quote);line-height:1.35;color:var(--color-brand-primary)}

/* Responsive visual rules */
@media(max-width:1100px){.magnna-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.magnna-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.magnna-filter-bar{padding:14px 18px}.magnna-display-xl{font-size:clamp(44px,10vw,88px)}}
@media(max-width:768px){.magnna-grid-2,.magnna-grid-3,.magnna-grid-4{grid-template-columns:1fr}.magnna-logo-box{min-height:180px;padding:var(--space-6)}.magnna-pullquote{font-size:22px;padding:var(--space-6) 0}.magnna-toast{left:18px;right:18px;top:18px;max-width:none}.shop_table th,.shop_table td{padding:12px!important}.magnna-filter-pill{font-size:9px;padding:8px 12px}}


/* v1.2.3 · Product card vertical rhythm lock */
.products { align-items: stretch; }
.products .magnna-product-card { height: 100%; min-height: 578px; }
.magnna-product-card .woocommerce-LoopProduct-link { display: flex !important; flex-direction: column; flex: 1 1 auto; min-height: 0; color: inherit; }
.magnna-product-card img,
.magnna-product-card .woocommerce-LoopProduct-link > img { flex: 0 0 auto; }
.magnna-product-card .magnna-product-info { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 256px; }
.magnna-product-card .magnna-product-brand { display: block; min-height: 1.35em; }
.magnna-product-card .woocommerce-loop-product__title { min-height: calc(1.22em * 3); max-height: calc(1.22em * 3); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.magnna-product-card .magnna-product-sku { display: block; min-height: 1.35em; }
.magnna-product-card .magnna-product-meta { min-height: 58px; margin-top: auto; align-items: center; }
.magnna-product-card .magnna-product-actions { padding: 0 42px 28px; margin-top: 0; }
.magnna-product-card .magnna-product-actions .button { width: 100%; min-height: 64px; margin: 0; }

@media (max-width: 1100px) {
  .products .magnna-product-card { min-height: 560px; }
}
@media (max-width: 768px) {
  .products .magnna-product-card { min-height: auto; }
  .magnna-product-card .magnna-product-info { min-height: 230px; }
  .magnna-product-card .magnna-product-actions { padding: 0 22px 24px; }
}
