/*
Theme Name: PPWR Ürün Pasaportu
Theme URI: https://example.com
Author: Custom Development
Author URI: https://example.com
Description: Ambalaj Ürün Pasaportu (PPWR) bilgilerini görüntülemek için özel WordPress teması. Firma bilgileri, uygunluk beyanı (DoC), ambalaj parçaları ve QR kod tarama özellikleri içerir.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ppwr-theme
*/

/* ==========================================================================
   RESET & BASE
   ========================================================================== */
* { box-sizing: border-box; }

body {
	margin: 0;
	background: #f1f3f6;
	color: #0f172a;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Inter", Arial, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.ppwr-wrap {
	max-width: 780px;
	margin: 24px auto;
	padding: 0 16px 48px;
}

/* ==========================================================================
   SITE HEADER
   ========================================================================== */
.ppwr-site-header {
	background: #fff;
	border-bottom: 1px solid #e5e7eb;
	padding: 14px 0;
}
.ppwr-site-header .inner {
	max-width: 780px;
	margin: 0 auto;
	padding: 0 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.ppwr-site-header .logo {
	font-weight: 700;
	font-size: 16px;
	color: #1d4ed8;
}
.ppwr-site-header nav a {
	margin-left: 18px;
	font-size: 13px;
	font-weight: 600;
	color: #475569;
}
.ppwr-site-header nav a:hover { color: #1d4ed8; }

/* ==========================================================================
   MAIN CARD
   ========================================================================== */
.ppwr-card {
	background: #fff;
	border: 1px solid #e6e8ec;
	border-radius: 16px;
	padding: 26px 26px 30px;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}

/* -- QR ID badge -- */
.ppwr-qr-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	color: #475569;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .03em;
	padding: 5px 12px;
	border-radius: 999px;
	margin-bottom: 18px;
}

/* -- Identity block -- */
.ppwr-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	color: #94a3b8;
	text-transform: uppercase;
	margin: 0 0 3px;
}
.ppwr-id-big {
	font-size: 30px;
	font-weight: 800;
	color: #1d4ed8;
	margin: 0 0 16px;
	letter-spacing: -0.5px;
}
.ppwr-meta-row {
	display: flex;
	gap: 6px;
	font-size: 14px;
	margin-bottom: 4px;
}
.ppwr-meta-row .ppwr-label { min-width: 110px; margin: 0; }
.ppwr-meta-row .val { font-weight: 700; color: #0f172a; }

.ppwr-divider { border: none; border-top: 1px solid #eef0f3; margin: 20px 0; }

/* -- Section titles -- */
.ppwr-section-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	color: #1d4ed8;
	text-transform: uppercase;
	margin: 0 0 16px;
}
.ppwr-section-title .ico {
	width: 18px; height: 18px;
	display: inline-flex; align-items: center; justify-content: center;
	color: #1d4ed8;
}

/* -- Company info -- */
.ppwr-company-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
@media (max-width: 560px) {
	.ppwr-company-grid { grid-template-columns: 1fr; }
}
.ppwr-company-col .ppwr-label { margin-bottom: 4px; }
.ppwr-company-col .name { font-weight: 700; font-size: 14.5px; margin: 0 0 2px; }
.ppwr-company-col .addr { color: #64748b; font-size: 13px; margin: 0 0 10px; }
.ppwr-company-col .extra { font-size: 12px; color: #94a3b8; }
.ppwr-company-col .extra b { color: #475569; }

/* -- DoC file card -- */
.ppwr-file-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 12px 14px;
	flex-wrap: wrap;
}
.ppwr-file-card .file-info { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ppwr-file-card .file-ico {
	width: 34px; height: 34px; border-radius: 8px;
	background: #e0e7ff; color: #4338ca;
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.ppwr-file-card .file-name { font-weight: 700; font-size: 13.5px; margin: 0; word-break: break-word; }
.ppwr-file-card .file-sub { font-size: 12px; color: #94a3b8; margin: 2px 0 0; }
.ppwr-file-actions { display: flex; gap: 8px; flex-shrink: 0; }

.ppwr-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12.5px;
	font-weight: 700;
	padding: 8px 14px;
	border-radius: 8px;
	border: 1px solid #d0d5dd;
	background: #fff;
	color: #344054;
	cursor: pointer;
	white-space: nowrap;
}
.ppwr-btn.primary {
	background: #1d4ed8;
	border-color: #1d4ed8;
	color: #fff;
}
.ppwr-btn:hover { opacity: .9; }

/* -- Packaging components -- */
.ppwr-component {
	border: 1px solid #e6e8ec;
	border-radius: 12px;
	padding: 18px 18px 16px;
	margin-bottom: 18px;
}
.ppwr-component-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}
.ppwr-badge-num {
	width: 22px; height: 22px;
	border-radius: 50%;
	background: #0f172a;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.ppwr-component-head .title { font-weight: 700; font-size: 15px; }
.ppwr-component-head .type-tag { color: #94a3b8; font-size: 13px; font-weight: 500; }

.ppwr-dims {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	margin-bottom: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid #f1f3f6;
}
.ppwr-dim { font-size: 13.5px; }
.ppwr-dim .l { color: #94a3b8; margin-right: 4px; }
.ppwr-dim .v { font-weight: 700; }

.ppwr-cert-box {
	border: 1px solid #e6e8ec;
	border-left: 3px solid #1d4ed8;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 10px;
}
.ppwr-cert-box .cert-title {
	display: flex; align-items: center; gap: 6px;
	font-size: 12.5px; font-weight: 700; color: #334155;
	padding: 10px 14px;
	border-bottom: 1px solid #f1f3f6;
}
.ppwr-cert-box .cert-body {
	display: flex; align-items: center; justify-content: space-between;
	gap: 10px; padding: 10px 14px; flex-wrap: wrap;
}
.ppwr-cert-box .cert-label { font-size: 13px; color: #475569; display:flex; align-items:center; gap:6px; }

.ppwr-component-desc { font-size: 13px; color: #94a3b8; margin: 4px 2px 0; }

/* -- Total weight -- */
.ppwr-total-box {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	color: #047857;
	font-weight: 700;
	font-size: 14px;
	padding: 14px 18px;
	border-radius: 12px;
	margin-top: 6px;
}

/* -- QR image block -- */
.ppwr-qr-block { text-align: center; margin-top: 22px; }
.ppwr-qr-block img { margin: 0 auto 8px; border: 1px solid #e6e8ec; border-radius: 10px; padding: 8px; background:#fff; }
.ppwr-qr-block .cap { font-size: 12px; color: #94a3b8; }

/* ==========================================================================
   LIST / SEARCH PAGE
   ========================================================================== */
.ppwr-search-bar {
	background: #fff;
	border: 1px solid #e6e8ec;
	border-radius: 14px;
	padding: 18px;
	display: flex;
	gap: 10px;
	margin-bottom: 22px;
	flex-wrap: wrap;
}
.ppwr-search-bar input[type="text"] {
	flex: 1;
	min-width: 200px;
	padding: 10px 14px;
	border: 1px solid #d0d5dd;
	border-radius: 8px;
	font-size: 14px;
}
.ppwr-search-bar button {
	padding: 10px 20px;
	border-radius: 8px;
	border: none;
	background: #1d4ed8;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}
.ppwr-search-bar a.scan-btn {
	padding: 10px 18px;
	border-radius: 8px;
	border: 1px solid #1d4ed8;
	color: #1d4ed8;
	font-weight: 700;
	display: inline-flex; align-items: center; gap: 6px;
}

.ppwr-list-item {
	background: #fff;
	border: 1px solid #e6e8ec;
	border-radius: 12px;
	padding: 16px 18px;
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}
.ppwr-list-item .id { font-weight: 800; color: #1d4ed8; font-size: 16px; }
.ppwr-list-item .sub { font-size: 12.5px; color: #94a3b8; margin-top: 2px; }
.ppwr-list-item .go {
	font-size: 12.5px; font-weight: 700; color: #1d4ed8;
	border: 1px solid #dbeafe; background: #eff6ff;
	padding: 8px 14px; border-radius: 8px;
}
.ppwr-empty { text-align: center; color: #94a3b8; padding: 60px 0; }

/* ==========================================================================
   QR SCANNER PAGE
   ========================================================================== */
.ppwr-scanner-box {
	background: #fff;
	border: 1px solid #e6e8ec;
	border-radius: 16px;
	padding: 20px;
	text-align: center;
}
#ppwr-qr-reader { width: 100%; max-width: 420px; margin: 0 auto; border-radius: 12px; overflow: hidden; }
.ppwr-scan-status { margin-top: 14px; font-size: 13.5px; color: #64748b; min-height: 20px; }
.ppwr-scan-status.error { color: #dc2626; }
.ppwr-scan-status.success { color: #059669; }

/* ==========================================================================
   PAGE TITLE
   ========================================================================== */
.ppwr-page-title { font-size: 20px; font-weight: 800; margin: 0 0 18px; }
