/*
Theme Name: Ollie
Theme URI: olliewp.com
Author: Mike McAlister
Author URI: mikemcalister.com
Description: Launch a blazing-fast, pixel-perfect website with the Ollie WordPress block theme! Ollie features over 50 beautiful pattern designs, 7 full-page pattern layouts, and a fully-customizable design system with Global Styles. Ollie integrates seamlessly with all of the powerful new WordPress editor features, giving you the most lightweight and powerful website builder on the planet — no expensive page builder plugin required! ✶ Full demo: https://demo.olliewp.com ✶
Tags: blog, portfolio, entertainment, grid-layout, one-column, two-columns, three-columns, four-columns, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, rtl-language-support, style-variations, template-editing, theme-options, translation-ready, wide-blocks
Tested up to: 6.7.1
Requires PHP: 7.3
Version: 1.6.0
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ollie

Ollie WordPress Theme, (C) 2026 Mike McAlister.
Ollie is distributed under the terms of the GNU GPL.
*/

/* CSS Reset
---------------------------------------------------------------------------- */

*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

b,
strong {
  font-weight: var(--wp--custom--font-weight--semi-bold);
}

ol,
ul {
  padding: 0;
}

ol:where(:not([class*="wp-block"])),
ol:where(.wp-block-list),
ul:where(:not([class*="wp-block"])),
ul:where(.wp-block-list) {
  padding-inline-start: var(--wp--preset--spacing--medium);
}

div[class*="wp-block-"] figcaption {
  color: var(--wp--preset--color--secondary);
  font-size: var(--wp--preset--font-size--x-small);
  margin-bottom: 0;
  margin-top: 20px;
  text-align: center;
}

img,
figure {
  max-width: 100%;
  height: auto;
}

/* Temporary fix for text-decoration-thickness in Firefox */
@-moz-document url-prefix() {
  a {
    text-decoration-thickness: 0.1rem !important;
  }
}

/* Standardize form styling
--------------------------------------------- */

input,
button,
textarea,
select {
  font: inherit;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
  -webkit-appearance: none;
  appearance: none;
}

input:not([type="submit"]):not([type="radio"]),
select,
textarea,
.wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wp-block-post-comments-form textarea {
  color: var(--wp--preset--color--main);
  border-radius: 5px;
  border: solid 1px color-mix(in srgb, var(--wp--preset--color--tertiary) 100%, var(--wp--preset--color--main) 20%);
  padding: 0.5em 1em;
  font-size: var(--wp--preset--font-size--small);
  background-color: #fff;
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.02),
    0 0.5px 1px rgba(0, 0, 0, 0.04);
}

input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline-color: var(--wp--preset--color--main);
  outline-offset: 1px;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
  width: auto;
}

select {
  -webkit-appearance: none;
  appearance: none;
  background: var(--wp--preset--color--base)
    url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1kb3duIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=)
    no-repeat;
  background-size: 16px;
  background-position: calc(100% - 12px) 50%;
  padding-right: 2.2em;
}

label {
  width: 100%;
  display: block;
}

::placeholder {
  color: var(--wp--preset--color--secondary);
  font-size: var(--wp--preset--font-size--small);
  opacity: 0.75;
}

/* Helper styles
---------------------------------------------------------------------------- */

a.more-link {
  display: block;
}

/* Inline code */
*:not(.wp-block-code) > code {
  background-color: var(--wp--preset--color--tertiary);
  padding: 3px 5px;
  position: relative;
  border-radius: 3px;
}

.wp-block-categories {
  position: relative;
}

/* Remove margin on term description on archive pages */
.wp-block-term-description p:last-child {
  margin-bottom: 0;
}

/* Remove last separator on post list */
.remove-border-and-padding .wp-block-post-template li:last-child .wp-block-separator {
  display: none;
}

/* Hide post meta div if no tags assigned */
.single .wp-block-group:has(> .post-meta:empty) {
  display: none;
}

.wp-block-group:empty:has(+ .comment-respond) {
  display: none;
}

.row-logos > figure {
  flex-shrink: 1 !important;
}

/* Sticky header */

body:not(.wp-admin) header:has(> .is-position-sticky) {
  position: sticky;
  top: calc(0px + var(--wp-admin--admin-bar--height, 0px));
  z-index: 100;
}

/* Account for admin bar on mobile */

@media (max-width: 600px) {
  header:has(> .is-position-sticky) {
    top: 0;
  }
}

/* Mobile helper classes */

@media (max-width: 781px) {
  .ollie-hide-on-mobile {
    display: none;
  }

  .ollie-unstick-mobile {
    position: static;
  }

  header:has(> .ollie-unstick-mobile) {
    position: static;
  }
}

/* Table
--------------------------------------------- */

.wp-block-table table {
  background: var(--wp--preset--color--base);
  border-radius: 5px;
  border: solid 1px var(--wp--preset--color--border-light);
  font-size: var(--wp--preset--font-size--x-small);
}
.wp-block-table.is-style-stripes {
  border-bottom: none;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: var(--wp--preset--color--tertiary);
}

.wp-block-table td,
.wp-block-table th,
.wp-block-table thead {
  border: none;
  border-bottom: solid 1px color-mix(in srgb, var(--wp--preset--color--border-light) 50%, var(--wp--preset--color--base) 5%);
}

/* .wp-block-table th,
.wp-block-table tfoot {
	text-align: left;
	background-color: color-mix(in srgb, var(--wp--preset--color--tertiary) 75%, var(--wp--preset--color--base) 5%);
} */

.wp-block-table td,
.wp-block-table th {
  padding: 0.8em 1em;
}

.wp-block-table tfoot {
  border-top: solid 1px var(--wp--preset--color--border-light);
}

.wp-block-table tfoot td {
  border-bottom: none;
}
