/*
Theme Name: ExpertsPunch Theme
Theme URI: https://expertspunch.com
Author: ExpertsPunch
Author URI: https://expertspunch.com
Description: A professional Breakdance-compatible WordPress theme for embroidery digitizing, vector art redraw, and custom badges & patches services. Built with full-width layout support and optimized for Breakdance page builder.
Version: 1.0.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: expertspunch
Tags: custom-menu, custom-logo, featured-images, full-width-template, theme-options, translation-ready, one-column, two-columns, breakdance

This theme is designed to work seamlessly with Breakdance page builder.
All page content styling is handled by Breakdance — the theme provides
structural styles for header, footer, and base elements only.
*/

/* ==========================================================================
   CSS RESET & BASE — Minimal reset that doesn't interfere with Breakdance
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	padding: 0;
	font-family: 'Rubik', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.7;
	color: var(--ep-color-text);
	background-color: var(--ep-color-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* WordPress core alignment classes */
.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	background: #fff;
	border: 1px solid #f0f0f0;
	max-width: 96%;
	padding: 5px 3px 10px;
	text-align: center;
}

.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}

.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}

.wp-caption p.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

/* WordPress block editor width handling */
.entry-content > .alignwide {
	max-width: 1200px;
}

.entry-content > .alignfull {
	margin: 0 calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

/* Screen reader text — WordPress accessibility requirement */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Sticky post indicator */
.sticky {
	display: block;
}

/* Gallery styles */
.gallery-caption {
	display: block;
}

.bypostauthor {
	display: block;
}
