/*
Theme Name: iPharm Pro
Theme URI: https://example.com/ipharm-pro
Author: Arena.ai
Author URI: https://arena.ai
Description: iPharm Pro is a modern, Elementor- and WooCommerce-compatible WordPress theme for pharmacies and local healthcare retailers. Built-in features include a product search hero, online prescription ordering & WooCommerce checkout prescription upload, compounding/vaccinations/health-check service sections, age verification gate, live chat (Tawk.to/Crisp), Pharmacy/LocalBusiness schema + built-in SEO, consistent NAP & opening hours for local SEO, a full multi-page structure (Home, Services, Shop, About, Contact, Blog + legal pages), and optimised mobile & tablet responsiveness.
Version: 1.2.0
Requires at least: 5.4
Tested up to: 6.5
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ipharm-pro
Tags: business, ecommerce, pharmacy, health, medical, local-business, elementor, woocommerce, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, blog, full-width-template, footer-widgets
*/

/* ------------------------------------------------------------------
   iPharm Pro — Core Stylesheet
   The bulk of the visual styling lives in /assets/css/main.css so the
   Customizer can load a smaller render-critical file when needed.
   This file holds only variables, resets and WordPress-required rules.
------------------------------------------------------------------- */

:root {
	--ip-primary: #5b1a8c;
	--ip-primary-dark: #42115f;
	--ip-primary-light: #7b2d9e;
	--ip-accent: #00b5a5;
	--ip-accent-dark: #008c7f;
	--ip-text: #2b2b3a;
	--ip-text-soft: #5a5a6e;
	--ip-bg: #ffffff;
	--ip-bg-alt: #f6f4f9;
	--ip-bg-dark: #1a1330;
	--ip-border: #e6e1ee;
	--ip-radius: 14px;
	--ip-radius-sm: 8px;
	--ip-shadow: 0 10px 35px rgba(40, 12, 70, 0.08);
	--ip-shadow-hover: 0 18px 50px rgba(40, 12, 70, 0.16);
	--ip-max: 1240px;
	--ip-font: "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
	--ip-font-head: "Poppins", "Inter", system-ui, sans-serif;
	--ip-transition: 0.25s ease;
}

/* Reset & base ----------------------------------------------------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--ip-font);
	font-size: 17px;
	line-height: 1.7;
	color: var(--ip-text);
	background: var(--ip-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	word-wrap: break-word;
}

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

a { color: var(--ip-primary); text-decoration: none; transition: color var(--ip-transition); }
a:hover { color: var(--ip-primary-light); }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--ip-font-head);
	color: var(--ip-primary-dark);
	line-height: 1.2;
	margin: 0 0 0.6em;
	font-weight: 700;
}

h1 { font-size: clamp(2rem, 5vw, 3.4rem); }
h2 { font-size: clamp(1.6rem, 3.5vw, 2.4rem); }
h3 { font-size: clamp(1.25rem, 2.4vw, 1.6rem); }
h4 { font-size: 1.2rem; }

p { margin: 0 0 1.2em; }

/* Alignment helpers (WordPress) ----------------------------------- */
.alignleft { float: left; margin-right: 1.5em; margin-bottom: 1em; }
.alignright { float: right; margin-left: 1.5em; margin-bottom: 1em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignwide { width: 100%; }
.alignfull { width: 100vw; margin-left: calc(50% - 50vw); max-width: none; }

.text-center { text-align: center; }

/* Accessibility ---------------------------------------------------- */
.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: #fff;
	border-radius: var(--ip-radius-sm);
	clip: auto !important;
	clip-path: none;
	color: var(--ip-primary-dark);
	display: block;
	font-size: 0.9rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 9999;
	background: var(--ip-primary);
	color: #fff;
	padding: 12px 20px;
	border-radius: 0 0 var(--ip-radius-sm) 0;
}
.skip-link:focus { left: 0; color: #fff; }

:focus-visible {
	outline: 3px solid var(--ip-accent);
	outline-offset: 2px;
}

/* WordPress Core caption ------------------------------------------ */
.wp-caption { max-width: 100%; }
.wp-caption .wp-caption-text { margin: 0.5em 0; font-size: 0.85em; color: var(--ip-text-soft); font-style: italic; }
.sticky { display: block; }
.bypostauthor { display: block; }

/* Forms ------------------------------------------------------------ */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	cursor: pointer;
}

/* Elementor canvas passthrough ------------------------------------ */
.elementor-page .site-content { background: transparent; }
.elementor-template-full-width .site-content { padding: 0; }
.elementor-template-full-width #primary { width: 100%; max-width: none; margin: 0; }
