/* ============================================================
   FLUG redesign — CHROME (loads site-wide)
   Header top-bar, sticky header + nav, tagline bar, navy footer,
   shared button + wrap. Uses specific class names and scoped
   resets so the registration / agenda app templates are untouched.
   ============================================================ */
:root{
  --orange:#fe6902; --orange-deep:#e85d00; --orange-lite:#ff8a3d;
  --peach:#fff1ea; --navy:#16294f; --navy-2:#1d3766; --blue:#43b7de;
  --text:#39434f; --muted:#6b7784; --line:#e9e5e2; --soft:#f6f7f9; --paper:#fff;
  --f-head:"Open Sans",Arial,sans-serif; --f-nav:"Quicksand",Arial,sans-serif;
  --maxw:1280px;
}
.topbar *,.head *,.tagbar *,.flug-footer *{box-sizing:border-box;}
.head .logo img,.flug-footer img{display:block;}

.rd-wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* shared button */
.rd-btn{font-family:var(--f-nav);font-weight:700;font-size:15px;padding:13px 24px;border-radius:6px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;background:var(--orange);color:#fff;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s;line-height:1.1;}
.rd-btn:hover{text-decoration:none;}
.rd-btn:hover{background:var(--orange-deep);color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(254,105,2,.6);}
.rd-btn.ghost{background:#fff;color:var(--navy);border:1.6px solid var(--line);}
.rd-btn.ghost:hover{border-color:var(--orange);color:var(--orange);box-shadow:none;}
.rd-btn.white{background:#fff;color:var(--orange-deep);}
.rd-btn.white:hover{background:var(--navy);color:#fff;}

/* ---------- TOP BAR ---------- */
.topbar{background:var(--navy);color:#cdd6e4;}
.topbar .rd-wrap{display:flex;align-items:center;gap:16px;min-height:40px;font-family:var(--f-nav);font-size:13px;}
.topbar a{color:#cdd6e4;text-decoration:none;} .topbar a:hover{color:var(--orange-lite);text-decoration:none;}
.topbar .soc{display:flex;gap:8px;margin-left:auto;align-items:center;}
.topbar .soc a{width:27px;height:27px;border-radius:50%;background:rgba(255,255,255,.10);display:grid;place-items:center;transition:background .15s,transform .15s;}
.topbar .soc a:hover{background:var(--orange);transform:translateY(-1px);}
.topbar .soc svg{width:13px;height:13px;fill:#fff;}
.topbar .sep{width:1px;height:15px;background:rgba(255,255,255,.16);}
/* prominent Login / My-account button in the top bar */
.topbar a.login-cta{
  display:inline-flex;align-items:center;gap:6px;background:var(--orange);color:#fff !important;
  font-family:var(--f-nav);font-weight:700;font-size:13px;padding:6px 16px;border-radius:6px;
  box-shadow:0 6px 14px -8px rgba(254,105,2,.7);transition:background .15s,transform .15s;
}
.topbar a.login-cta:hover{background:var(--orange-deep);color:#fff !important;transform:translateY(-1px);}
.topbar a.login-cta svg{width:15px;height:15px;fill:currentColor;}
/* ============ Account: Login / Register page ============ */
.flug-login-title{text-align:center;font-family:var(--f-head);font-weight:800;color:var(--navy);font-size:clamp(28px,3.4vw,40px);letter-spacing:-.02em;margin:10px 0 32px;position:relative;padding-bottom:16px;}
.flug-login-title::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:72px;height:4px;background:var(--orange);border-radius:2px;}
#customer_login{display:grid !important;grid-template-columns:1fr 1fr;gap:28px;align-items:start;max-width:1040px;margin:0 auto;float:none !important;}
/* the container has a clearfix ::before/::after that would become stray grid items */
#customer_login::before,#customer_login::after{content:none !important;display:none !important;}
@media(max-width:820px){#customer_login{grid-template-columns:1fr !important;}}
#customer_login .col-1,
#customer_login .col-2{
  float:none !important;width:auto !important;margin:0 !important;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:28px 30px 30px;box-shadow:0 20px 46px -34px rgba(22,41,79,.42);
}
#customer_login h2{
  font-family:var(--f-head);font-weight:800;color:var(--navy);font-size:21px;margin:0 0 22px;
  padding-bottom:11px;border-bottom:3px solid var(--orange);display:inline-block;letter-spacing:-.01em;
}
#customer_login label{display:block;font-family:var(--f-nav);font-weight:700;color:var(--navy);font-size:12.5px;margin:0 0 6px;}
#customer_login .form-row,#customer_login p.form-row,#customer_login .woocommerce-form-row{margin:0 0 16px;}
#customer_login .input-text,
#customer_login input[type="text"],
#customer_login input[type="email"],
#customer_login input[type="password"],
#customer_login select{
  width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:9px;padding:11px 14px;
  font-family:var(--f-head);font-size:14px;color:var(--text);background:#fff;transition:border-color .15s,box-shadow .15s;
}
#customer_login .input-text:focus,
#customer_login input:focus,
#customer_login select:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(254,105,2,.15);}
#customer_login .required{color:var(--orange);border:0;}
/* Attendee first / last name side by side */
#customer_login .form-row-first,#customer_login .form-row-last{display:inline-block;width:calc(50% - 7px);vertical-align:top;margin-bottom:16px;}
#customer_login .form-row-first{margin-right:11px;}
#customer_login .clear{clear:both;}
/* buttons */
/* only the submit buttons — NOT the JS-injected show/hide password toggle */
#customer_login .woocommerce-button,
#customer_login .button{
  background:var(--orange);color:#fff;border:none;border-radius:9px;font-family:var(--f-nav);font-weight:700;
  font-size:15px;padding:12px 28px;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s;
  box-shadow:0 12px 24px -12px rgba(254,105,2,.55);
}
#customer_login .woocommerce-button:hover,
#customer_login .button:hover{background:var(--orange-deep);transform:translateY(-1px);}
/* neutralise the password show/hide toggle so it isn't an orange box */
#customer_login .show-password-input,
#customer_login button.wc-hide-password-button,
#customer_login .password-input button{background:none !important;border:none !important;box-shadow:none !important;padding:0 !important;}
#customer_login .woocommerce-form-login__rememberme{font-family:var(--f-nav);font-weight:600;color:var(--muted);font-size:13px;display:inline-flex;align-items:center;gap:6px;}
#customer_login .lost_password a{color:var(--orange);font-weight:700;text-decoration:none;}
#customer_login .lost_password a:hover{color:var(--orange-deep);}
@media(max-width:640px){.topbar .hidem{display:none;}}

/* ---------- HEADER ---------- */
/* #tpn-main had overflow:hidden, which disables position:sticky on the header.
   Every ancestor of a sticky element must have visible overflow, so restore it.
   (No overflow guard on html/body — those would re-create a scroll container
   and break sticky again.) */
#tpn-main{overflow:visible;}
.head{background:#fff;position:sticky;top:0;z-index:60;box-shadow:0 2px 16px -8px rgba(22,41,79,.25);}
/* When the WP admin bar is present (logged-in users), stick just below it so
   the header is not hidden behind the bar. Public visitors see top:0. */
body.admin-bar .head{top:32px;}
@media screen and (max-width:782px){body.admin-bar .head{top:46px;}}
.head .rd-wrap{display:flex;align-items:center;gap:16px;min-height:132px;}
.head .logo{margin-right:auto;} .head .logo img{height:150px;width:auto;}
.nav .rd-menu{display:flex;gap:6px;align-items:center;margin:0;padding:0;list-style:none;}
.nav .rd-menu li{list-style:none;position:relative;}
.nav .rd-menu>li>a{font-family:var(--f-nav);font-weight:600;font-size:14px;color:var(--navy);padding:8px 12px;border-radius:6px;position:relative;display:block;white-space:nowrap;text-decoration:none;transition:color .15s;}
.nav .rd-menu>li>a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .18s;}
.nav .rd-menu>li:hover>a{color:var(--orange);} .nav .rd-menu>li:hover>a::after{transform:scaleX(1);}
.nav .rd-menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:210px;background:#fff;box-shadow:0 16px 34px -16px rgba(22,41,79,.5);border:1px solid var(--line);border-radius:8px;padding:8px 0;z-index:70;list-style:none;margin:0;}
.nav .rd-menu li:hover>.sub-menu{display:block;}
.nav .rd-menu .sub-menu a{display:block;padding:9px 18px;font-family:var(--f-nav);font-weight:600;font-size:13.5px;color:var(--navy);text-decoration:none;white-space:nowrap;}
.nav .rd-menu .sub-menu a:hover{color:var(--orange);background:var(--peach);}
/* "2026 Registration" dropdown — prominent orange parent (replaces the old CTA button) */
.nav .rd-menu>li.flug-reg-parent>a{background:linear-gradient(135deg,var(--orange-deep),var(--orange));color:#fff;font-weight:700;border:none;box-shadow:0 10px 22px -12px rgba(254,105,2,.55);}
.nav .rd-menu>li.flug-reg-parent>a::after{display:none;}
.nav .rd-menu>li.flug-reg-parent:hover>a{filter:brightness(1.06);color:#fff;}
.head .actions{display:flex;gap:8px;}
.head .actions .rd-btn{padding:10px 16px;font-size:14px;}
.burger{display:none;background:none;border:none;color:var(--navy);font-size:26px;cursor:pointer;line-height:1;}
@media(max-width:980px){
  .nav{display:none;flex-basis:100%;order:4;}
  .head.open .nav{display:block;}
  .nav .rd-menu{flex-direction:column;align-items:stretch;gap:0;}
  .nav .rd-menu>li>a{padding:12px 4px;border-bottom:1px solid var(--line);}
  .nav .rd-menu>li>a::after{display:none;}
  .nav .rd-menu .sub-menu{position:static;display:block;box-shadow:none;border:none;padding:0 0 6px 16px;min-width:0;}
  .burger{display:block;order:2;}
  .head .rd-wrap{flex-wrap:wrap;min-height:0;padding:14px 24px;row-gap:12px;gap:12px;}
  .head .logo{margin-right:auto;} .head .logo img{height:84px;}
  .head .actions{order:3;}
  .head .actions .rd-btn{padding:11px 15px;}
}

/* ---------- TAGLINE BAR ---------- */
.tagbar{background:linear-gradient(90deg,var(--orange-deep),var(--orange) 48%,var(--orange-lite));}
.tagbar .rd-wrap{padding:15px 24px;}
.tagbar h1{color:#fff;font-family:var(--f-head);font-weight:700;text-align:center;font-size:clamp(19px,2.6vw,27px);text-shadow:0 1px 2px rgba(0,0,0,.12);margin:0;line-height:1.2;}

/* ---------- FOOTER (navy) ---------- */
.flug-footer{background:var(--navy);color:#c4cee0;margin-top:20px;font-family:var(--f-head);}
.flug-footer .rd-wrap{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:36px;padding:54px 24px 30px;align-items:start;}
.flug-footer h4{color:#fff;font-family:var(--f-head);font-weight:700;font-size:22px;margin:0 0 16px;letter-spacing:-.01em;}
.flug-footer .col a{color:#c4cee0;display:flex;align-items:center;gap:10px;padding:6px 0;font-size:15px;font-weight:600;text-decoration:none;}
.flug-footer .col a::before{content:"\279C";font-size:13px;color:var(--orange);transition:transform .15s,color .15s;}
.flug-footer .col a:hover{color:var(--orange-lite);} .flug-footer .col a:hover::before{color:var(--orange-lite);transform:translateX(3px);}
.flug-footer .mid{text-align:center;} .flug-footer .mid img{height:118px;width:auto;margin:0 auto 14px;}
.flug-footer .mid .addr{font-family:var(--f-nav);font-weight:600;font-size:16px;margin:2px 0;color:#fff;}
.flug-footer .mid .dev{margin-top:14px;font-size:14.5px;font-weight:600;}
.flug-footer .mid .cr{font-size:13.5px;opacity:.85;margin-top:2px;}
@media(max-width:760px){.flug-footer .rd-wrap{grid-template-columns:1fr;text-align:center;justify-items:center;} .flug-footer .col a{justify-content:center;}}

/* ===== CART TABLE — fix equal-width columns (table-layout:fixed made the ×
   remove column a huge blank and squeezed the product name) ===== */
.woocommerce-cart-form__contents{table-layout:fixed !important;width:100%;}
.woocommerce-cart-form__contents th.product-remove,
.woocommerce-cart-form__contents td.product-remove{width:44px !important;text-align:center !important;padding-left:6px !important;padding-right:6px !important;}
.woocommerce-cart-form__contents th.product-name,
.woocommerce-cart-form__contents td.product-name{width:auto !important;}
.woocommerce-cart-form__contents th.product-price,
.woocommerce-cart-form__contents td.product-price{width:13% !important;}
.woocommerce-cart-form__contents th.product-quantity,
.woocommerce-cart-form__contents td.product-quantity{width:15% !important;}
.woocommerce-cart-form__contents th.product-subtotal,
.woocommerce-cart-form__contents td.product-subtotal{width:13% !important;}
@media(max-width:760px){
  .woocommerce-cart-form__contents,
  .woocommerce-cart-form__contents th.product-remove,
  .woocommerce-cart-form__contents td.product-remove,
  .woocommerce-cart-form__contents th.product-name,
  .woocommerce-cart-form__contents td.product-name,
  .woocommerce-cart-form__contents th.product-price,
  .woocommerce-cart-form__contents td.product-price,
  .woocommerce-cart-form__contents th.product-quantity,
  .woocommerce-cart-form__contents td.product-quantity,
  .woocommerce-cart-form__contents th.product-subtotal,
  .woocommerce-cart-form__contents td.product-subtotal{width:auto !important;}
}
/* --- cart actions row: coupon + modify buttons + update cart --- */
/* Coupon: label — input — Apply, in a neat left-aligned row (input was
   floated left, jumping ahead of the "Coupon:" label) */
.woocommerce-cart-form__contents td.actions .coupon{float:none !important;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:26px;}
.woocommerce-cart-form__contents td.actions .coupon label{float:none;margin:0;font-weight:600;}
.woocommerce-cart-form__contents td.actions .coupon .input-text{float:none !important;width:auto !important;min-width:230px;margin:0 !important;}
.woocommerce-cart-form__contents td.actions .coupon .button{float:none !important;width:auto !important;margin:0 !important;}
/* Modify Workshops/Sessions — auto-width buttons that fit their full text
   (were pinned to a fixed width and clipping the labels) */
.woocommerce-cart-form__contents td.actions .cart-items-listing{float:none !important;clear:both;text-align:left !important;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;}
.woocommerce-cart-form__contents td.actions .item-carts{float:none !important;width:auto !important;margin:0 !important;}
.woocommerce-cart-form__contents td.actions .item-carts .tpn-button{display:inline-flex !important;width:auto !important;white-space:nowrap;padding:11px 18px;}
.woocommerce-cart-form__contents td.actions [name=update_cart]{float:none !important;display:inline-block;clear:both;margin-top:6px !important;width:auto !important;}

/* Sold-out / waitlist buttons on the agenda cards were clipped to one line
   ("Workshop Sold Out - Add to W…"). The base .tpn-button forces white-space:nowrap
   + a fixed 31px line-height, so the long label overflows the narrow card and gets
   cut. Let these specific buttons wrap and grow to fit their text. */
button[name="add-to-waitlist"].tpn-button,
button[name="remove-waitlist"].tpn-button{
	white-space:normal !important;
	line-height:1.3 !important;
	height:auto !important;
	min-height:0 !important;
	width:auto !important;
	max-width:100% !important;
	padding:10px 16px !important;
	text-align:center;
	word-break:break-word;
}

/* ===== AGENDA PAGE (/agenda-2/) WORKSHOP+SESSION CARDS — more breathing room
   + a wider, easier-to-read description column. Scoped to .agenda-cart-sec so
   it stays clear of the /2026-registration/ cards, which are a CSS grid owned
   by registration.css (.registration-main-sec .search_results_agenda). ===== */
.agenda-cart-sec .wrap.spacing{border-spacing:14px !important;margin-bottom:10px !important;}
.agenda-cart-sec .inner20-10{padding:26px 24px !important;}
/* body description paragraphs only — no inline style, so this wins without
   !important; the inline-styled title (20px) and instructor keep their size */
.agenda-cart-sec .half p{font-size:16px;line-height:1.6;}
@media(min-width:769px){
  .agenda-cart-sec .block30{width:26% !important;}   /* time / meta */
  .agenda-cart-sec .half{width:58% !important;}      /* description — bigger */
  .agenda-cart-sec .block20{width:16% !important;}   /* software / add button */
}

/* ===== /agenda-2/ sticky "My Agenda" cart panel =====
   (Full-width is handled separately once verified on the logged-in page; the
   earlier padding-based attempt shrank the cards inside the themed sheet.) */
/* the fixed panel (same look as the registration My Agenda panel) */
#agenda-sticky{position:fixed;right:0;top:200px;width:250px;max-width:80vw;z-index:65;
  background:#fff;border:1px solid var(--line);border-left:4px solid var(--orange);
  border-radius:14px 0 0 14px;box-shadow:0 22px 48px -20px rgba(22,41,79,.45);
  overflow:hidden;font-family:var(--f-nav);}
#agenda-sticky .asp-head{background:linear-gradient(90deg,var(--orange-deep),var(--orange));
  color:#fff;font-weight:700;font-size:12.5px;letter-spacing:.04em;padding:11px 16px;}
#agenda-sticky .asp-body{max-height:calc(100vh - 260px);overflow-y:auto;padding:12px 14px;
  scrollbar-width:thin;scrollbar-color:#cdd6e4 transparent;}
#agenda-sticky .asp-body::-webkit-scrollbar{width:6px;}
#agenda-sticky .asp-body::-webkit-scrollbar-thumb{background:#cdd6e4;border-radius:3px;}
#agenda-sticky .asp-day{font-size:11px;font-weight:700;color:var(--orange-deep);
  text-transform:uppercase;letter-spacing:.04em;margin:10px 0 6px;}
#agenda-sticky .asp-day:first-child{margin-top:0;}
#agenda-sticky .asp-item{position:relative;background:#f8f8f8;border:1px solid var(--line);
  border-radius:8px;padding:8px 28px 8px 10px;margin:0 0 8px;}
#agenda-sticky .asp-title{font-size:12px;font-weight:700;color:var(--navy);line-height:1.3;}
#agenda-sticky .asp-item small{display:block;color:var(--muted);font-size:11px;margin-top:2px;}
#agenda-sticky .asp-x{position:absolute;top:6px;right:7px;width:17px;height:17px;line-height:16px;
  text-align:center;border-radius:50%;background:#e9e5e2;color:var(--navy);font-size:14px;
  font-weight:700;text-decoration:none;}
#agenda-sticky .asp-x:hover{background:var(--orange);color:#fff;}
/* below the fixed-panel breakpoint: panel becomes an inline block */
@media(max-width:980px){
  #agenda-sticky{position:static;width:auto;max-width:none;border-radius:12px;margin:0 auto 20px;}
}

/* ===== MY ACCOUNT — VIEW ORDER page polish =====================================
   Beautify the oversized default WooCommerce chrome: the "Order #X was placed on
   … currently Pending payment." intro, the section headings (Order details /
   Billing address), and the bare order-meta <dl> (the "Thursday Evening Social"
   question). Verified live on /my-account/view-order/. ============================ */
/* Intro status line → soft banner with pill-ised order #, date and status. */
.flug-order-intro,
.myaccount-content-sec p.flug-order-intro{
  background:#f6f7f9;border:1px solid #e9e5e2;border-left:4px solid var(--orange);
  border-radius:10px;padding:13px 16px;font-size:14.5px;line-height:1.55;color:#39434f;margin:0 0 22px;}
.flug-order-intro mark{
  padding:2px 10px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap;}
/* Class-level selectors so the navy fill beats the theme's default <mark> styling
   (a plain .flug-order-intro mark rule lost, leaving the pills transparent). */
.flug-order-intro mark.order-number,
.flug-order-intro mark.order-date{background:var(--navy);color:#fff;}
.flug-order-intro mark.order-status{background:#fef1e7;color:#c2570a;border:1px solid #f6c79b;}
/* Section headings: smaller, uppercase, navy with an orange underline accent. */
.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-customer-details h2{
  font-size:15px !important;font-weight:700 !important;text-transform:uppercase;letter-spacing:.06em;
  color:var(--navy) !important;margin:26px 0 12px !important;padding-bottom:7px;
  border-bottom:2px solid var(--orange);display:inline-block;}
/* Order-meta question (Thursday Evening Social …) → tidy card with a pill answer. */
.woocommerce-customer-details dl{
  background:#f6f7f9;border:1px solid #e9e5e2;border-radius:10px;padding:14px 16px;margin:0 0 18px;}
.woocommerce-customer-details dl dt{
  font-size:13px;font-weight:700;color:var(--navy);line-height:1.45;margin:0 0 6px;}
.woocommerce-customer-details dl dd{
  margin:0;display:inline-block;background:#fff;border:1px solid #f6c79b;color:#c2570a;
  font-weight:700;font-size:13px;padding:4px 14px;border-radius:999px;}
/* Reorder the customer-details block so the question card sits ABOVE the billing
   address, and bring the phone/email down to body size (WooCommerce ships them at
   20px, larger than the address itself). */
.woocommerce-customer-details{display:flex;flex-direction:column;}
.woocommerce-customer-details > dl{order:-1;margin-bottom:20px;}
.woocommerce-customer-details > .woocommerce-column__title{order:0;}
.woocommerce-customer-details > address{order:1;}
.woocommerce-customer-details address{font-size:14.5px;line-height:1.7;}
.woocommerce-customer-details--phone,
.woocommerce-customer-details--email{font-size:14.5px !important;line-height:1.6 !important;margin:6px 0 0 !important;}
/* Print: don't let the address card / question card break across a page. */
@media print{
  .woocommerce-customer-details,
  .woocommerce-customer-details address,
  .woocommerce-customer-details > dl{break-inside:avoid;page-break-inside:avoid;}
}
