/* Site-wide fixes on top of the static Divi pages (Oct 30, 2026).
   Linked from every page's <head>; the Divi inline styles come later in <body>,
   so rules here use !important where they override them. */

/* Header logo: the lowercase cardsmith lockup (images/brand/cardsmith-logo.svg, 5677x1000).
   Size it by height so it reads the same on every screen, instead of Divi's
   "30% of the row, width 100%" which shrank it to ~9px tall on phones. */
.et_pb_menu_0_tb_header .et_pb_menu__logo-wrap { max-width: none !important; flex: 0 0 auto !important; }
.et_pb_menu_0_tb_header .et_pb_menu__logo { margin-right: 30px; }
.et_pb_menu_0_tb_header .et_pb_menu_inner_container > .et_pb_menu__logo-wrap .et_pb_menu__logo img {
  height: 40px !important; width: auto !important; max-width: none !important; max-height: none !important;
}
@media only screen and (max-width: 980px) {
  .et_pb_menu_0_tb_header .et_pb_menu_inner_container > .et_pb_menu__logo-wrap .et_pb_menu__logo img { height: 32px !important; }
}

/* Phone menu: links were inline (a leftover "display:initial" rule), so wrapped
   items lost their indent and the row lines/hover shading only covered the text. */
.et_pb_menu_0_tb_header .et_mobile_menu { padding: 8px 0 !important; max-height: calc(100vh - 80px); overflow-y: auto; -webkit-overflow-scrolling: touch; }
.et_pb_menu_0_tb_header .et_mobile_menu li a { display: block !important; padding: 11px 20px !important; font-size: 14px !important; letter-spacing: 1.5px; line-height: 1.35 !important; border-bottom: 1px solid rgba(0,0,0,.06); }
.et_pb_menu_0_tb_header .et_mobile_menu li ul { padding-left: 0 !important; }
.et_pb_menu_0_tb_header .et_mobile_menu li li { padding-left: 0 !important; }
.et_pb_menu_0_tb_header .et_mobile_menu li li a { padding-left: 36px !important; font-size: 13px !important; }
.et_pb_menu_0_tb_header .et_mobile_menu .menu-item-has-children > a { background-color: #f6f6f4 !important; }
.et_pb_menu_0_tb_header .et_mobile_menu .nav-signup a { color: #f89621 !important; font-weight: 600; }

/* Phone footer: show the footer links as a wrapped row instead of a second,
   orange-on-teal hamburger. */
@media only screen and (max-width: 980px) {
  .et_pb_menu_0_tb_footer .et_mobile_nav_menu { display: none !important; }
  .et_pb_menu_0_tb_footer .et_pb_menu__menu { display: block !important; }
  .et_pb_menu_0_tb_footer .et-menu { display: flex !important; flex-wrap: wrap; justify-content: center; margin: 0 !important; }
  .et_pb_menu_0_tb_footer .et-menu > li { margin: 0 !important; padding: 0 !important; }
  .et_pb_menu_0_tb_footer .et-menu > li > a { display: block; padding: 8px 10px !important; font-size: 13px !important; letter-spacing: .5px; }
}

/* Small laptops (981-1279px): the full menu plus the logo didn't fit on one line,
   so "Sign up for free" dropped onto a second row under the menu. */
@media only screen and (min-width: 981px) and (max-width: 1279px) {
  .et_pb_menu_0_tb_header .et_pb_menu_inner_container > .et_pb_menu__logo-wrap .et_pb_menu__logo img { height: 34px !important; }
  .et_pb_menu_0_tb_header .et_pb_menu__logo { margin-right: 16px; }
  .et_pb_menu_0_tb_header .et-menu > li { padding-left: 7px !important; padding-right: 7px !important; }
  .et_pb_menu_0_tb_header .et-menu > li > a { letter-spacing: 1px !important; font-size: 13px !important; }
  .et_pb_menu_0_tb_header .et-menu > li.nav-signup > a { padding-left: 14px !important; padding-right: 14px !important; }
}

/* Template category filter on phones: floated cells of different heights left
   holes and staggered rows; lay them out as an even two-column grid. */
@media only screen and (max-width: 767px) {
  .et_pb_filterable_portfolio .et_pb_portfolio_filters ul { display: grid !important; grid-template-columns: 1fr 1fr; }
  .et_pb_filterable_portfolio .et_pb_portfolio_filters ul::before,
  .et_pb_filterable_portfolio .et_pb_portfolio_filters ul::after { display: none !important; }
  .et_pb_filterable_portfolio .et_pb_portfolio_filters li { float: none !important; width: auto !important; }
  .et_pb_filterable_portfolio .et_pb_portfolio_filters li a { height: 100%; box-sizing: border-box; }
}

/* "Sign up for free" text was dark on the 404 page; orange like everywhere else. */
.et-db #et-boc .et-l .et_pb_menu_0_tb_header.et_pb_menu ul li.nav-signup > a, .et_pb_menu_0_tb_header .et-menu > li.nav-signup > a { color: #f89621 !important; }
